[Webkit-unassigned] [Bug 231031] New: (Safari 15) WebGL Video Texture Performance Regression - Looks GPU-process related

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Sep 30 11:09:58 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=231031

            Bug ID: 231031
           Summary: (Safari 15) WebGL Video Texture Performance Regression
                    - Looks GPU-process related
           Product: WebKit
           Version: Safari 14
          Hardware: All
                OS: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebGL
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: simontaylor1 at ntlworld.com
                CC: dino at apple.com, kbr at google.com, kkinnunen at apple.com

The default "Experimental Settings" in Safari 15 (both Mac Version 15.0 (16612.1.29.41.4, 16612) and iOS 15.0) looks to have "GPU Process: Media" enabled and "GPU Process: WebGL" disabled.

In this configuration texture upload performance from video nodes appears to have regressed significantly.

A previous texUpload2d performance regression (bug 216250) ended up being related to changes causing the SW fallback upload path to be used rather than the HW one.

My suspicion is that the HW GPU upload path isn't used with this default mixed configuration of GPU Process settings.

The test pages from bug 216250 show the issue:
https://tango-bravo.net/WebGLVideoPerformance/texImage2d_video.html (uses gl.RGB format and internal format)
https://tango-bravo.net/WebGLVideoPerformance/texImage2d_video_rgba.html (uses gl.RGBA format and internal format)

Also of note is Bug 203148 which seems to be a way to tell if the HW path is used or not - it seems to be a bug specific to the HW upload path.

Before getting to some sample numbers, a couple of points:
1) Benchmarking mobile devices is hard, as they downclock aggressively to save battery (especially when content can comfortably render at 60 fps). Anecdotally I've noticed the timings seem generally lowest and most stable on iOS when opening the app switcher (the Safari content still renders in the app switcher) - that's where I've taken the numbers from. I also had the device plugged in.
2) I've navigated between the pages a bit and these differences appear consistent.
3) It seems a device reboot is a good idea when toggling any of the experimental settings.

Some numbers:

iPod touch 7th gen, iOS 15

 GPU Process: Media | GPU Process: WebGL | RGB Test Upload Time | RGBA Test Upload Time | Bug 203148 Reproducible
 On (Default)       | Off (Default)      | 6-7 ms               | 4-5 ms                | No
 Off                | Off                | 4 ms                 | 2-3 ms                | Yes
 On                 | On                 | 4 ms                 | 2-3 ms                | Yes


Intel MacBook Pro (2017, i5)

Same basic pattern - in the default mixed mode bug 203148 doesn't reproduce, and uploads are slower - typically around 2ms, which drops to around 0.5ms when toggling GPU Process: Media off in Experimental settings in the Develop menu.

(ps: Safari 15 needs adding to the Version field)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210930/1e74a69a/attachment.htm>


More information about the webkit-unassigned mailing list