Platform/GFX/perf triage

From MozillaWiki
< Platform‎ | GFX
Jump to: navigation, search

The page contains a breakdown of performance related bugs and tasks for WebRender.

Bugzilla tree view of the wr-perf bugs: https://bugzilla.mozilla.org/showdependencytree.cgi?id=1477376&hide_resolved=1

To determine in which category a performance issue fits in a good source of information is to set the pref gfx.webrender.debug.profiler-ui to "Frame stats,Time graphs, ,GPU". Also set "gfx.webrender.debug.profiler" and "gfx.webrender.debug.gpu-time-queries" to true. this should be enough to tell in which stage of the rendering pipeline the issue is. Then set the profiler ui pref to more specific counters to continue investigating (see the list of profile counters in profiler.rs).

High priority bugs

Metabug: wr-perf-p1

Full Query
Type ID Summary Assigned to Priority
defect 1664478 Blend modes and other effects on a single image force an extra intermediate target P2
enhancement 1404477 Chrome repaints cause rebuilds of the entire browser scene P3
defect 1595680 Slightly different values in display lists causing extra picture cache invalidations. P3
defect 1595909 Image masks with different keys being added during scrolling P3

4 Total; 4 Open (100%); 0 Resolved (0%); 0 Verified (0%);


CPU time

Frame building

useful prefs:

  • gfx.webrender.debug.profiler-ui: "Frame times"

Metabug: wr-frame-building

A few common themes:

  • Many vector allocations add up to occupying a lot of the total frame building time.
  • HashMap operations are also showing up.
  • Removing redundant work or moving it to scene building can help a lot (for example Glenn's work on clipping).
  • Some pages have a very high primitive count. Anything that can help amortize how costs scale with prim count helps.
  • Timings tend to spike, so it's best to look at maximum times instead of averages. Spikes tend to line up with scene builds.

See also

Full Query
Type ID Summary Assigned to Priority
defect 1562433 Very high CPU utilization from pulsating animation P2
defect 1611199 Batching is too slow when there are many primitives P3
defect 1611908 A lot of time spent managing primitive dependencies during frame building P3
enhancement 1613053 Simplify WebRender's internal storage of clip chains P3
defect 1480964 With WR, Scrolling on maze solver page is janky. Non-WR is smooth (WR scrolling is not async enough) P3
task 1613067 Investigate using cluster dependencies to skip visibility on some clusters P3
defect 1512789 Scrolling inside the kangax table has high latency (Lots of time spent in parent process waiting for APZC) P3
enhancement 1628665 Pack all four subpx positioned versions of glyphs together P3
enhancement 1525061 CSS cursor animation dimming opacity causes 20% CPU utilisation with WebRender P3
enhancement 1641704 Investigate update_visibility overhead & prepare_primitives P3
enhancement 1650378 Skip frame building if the only changes in the frame are external images. P3
defect 1587475 Page faults and Lock contention on the render backend from memory allocations P3
enhancement 1651018 Better primitive cluster culling P3
enhancement 1587906 Track WR frame building performance separately from the scene building P3
enhancement 1654779 Further reduce the amount of allocations in set_param_and_get_batch Nicolas Silva [:nical] P3
defect 1596046 A lot of vector allocations during frame building P3
task 1685831 Reduce the cost from checking whether glyphs were evicted by the texture cache P3
defect 1596054 picture::TileNode::update_dirty_rects sometimes is high in profiles P3
defect 1700284 CSS pulse animation cause a ~25% CPU load of Firefox P3
enhancement 1611134 Process primitives by types instead of always in z-order P3
task 1611145 Remove (most of) the primitive segmentation P3
enhancement 1611153 Per-cluster GPU data allocation P3
task 1604670 Switch webrender math to use intrinsics P4
enhancement 1424579 coinmarketcap.com uses a lot more CPU with WebRender than without P5
defect 1493359 https://lab.hakim.se/domtree/ is slower with WR P5
enhancement 1628530 [metabug] Scene/frame building performance improvements Glenn Watson [:gw] --
defect 1647903 Scrolling https://github.com/servo/pathfinder/pull/350/files is a bad time --
defect 1707796 Choppy scrolling on https://gotofitnessclub.com/ --

28 Total; 28 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Scene building

Metabug: wr-scene-building

Full Query
Type ID Summary Assigned to Priority
enhancement 1404477 Chrome repaints cause rebuilds of the entire browser scene P3
defect 1508116 4-5ms spent scene building new Gmail (scene building is too slow) P3
defect 1582621 Scene building takes too long (> 7ms) on the MotionMark 1.1 Multiply benchmark P3
enhancement 1631756 Build separate pipelines for the content and UI and stitch them up during frame building P3
enhancement 1648091 A lot of time spent reallocating vectors during scene building Nicolas Silva [:nical] P3
enhancement 1654305 Avoid allocations in ClipStore::push_clip_root Nicolas Silva [:nical] P3
enhancement 1720517 Avoid scene building for JS-controlled transform changes in the browser chrome P3
defect 1493359 https://lab.hakim.se/domtree/ is slower with WR P5

8 Total; 8 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Renderer (Driver & ANGLE overhead)

Metabug: wr-renderer

Useful prefs:

  • gfx.webrender.debug.profiler-ui: "Frame stats,#Renderer,Renderer graphs"
Full Query
Type ID Summary Assigned to Priority
task 1660498 Investigate deferring texture deletion P2
defect 1652511 Scrolling on https://www.aspyredesign.com/ is extremely janky (with lots of time spent in painting) P3
defect 1657183 Janking/stuttering while scrolling on imgur (Celeron N4000) (Geminilake) P3
defect 1659348 Heavy janking while doing page up/down on windows101tricks.com P3
defect 1659518 Heavy janking while doing page up/down on bleepingcomputer with ANGLE P3
enhancement 1660116 Interleave frame building and command submission P3
defect 1660148 Janking while touchpad scrolling roboticsthroughsciencefiction page P3
defect 1660159 Bad janking when touchpad scrolling on moneycontrol.com P3
defect 1700284 CSS pulse animation cause a ~25% CPU load of Firefox P3
enhancement 1701986 Share and reuse Direct composition surfaces between multiple windows P3
task 1724129 https://codepen.io/trangthule/pen/vYmpNYR is very slow Glenn Watson [:gw] --
enhancement 1647080 WebRender/WR: Scrolling hangs shortly on purecss-francine Glenn Watson [:gw] --
defect 1674692 Slow page building while scrolling on deusex.fandom.com --
enhancement 1678265 A lot of time spent in SwapBuffer on https://eteam-eteam.4flow.cloud/# --
enhancement 1685261 Use a 2d texture atlas for picture cache tiles --

15 Total; 15 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Texture/Buffer uploads

Metabug: texture-upload-perf

Useful prefs:

  • gfx.webrender.debug.profiler-ui: "#GPU cache upload,#Texture cache update,#Texture uploads,#Texture uploads mem,#Rasterized glyphs,#Rasterized blob tiles"

See also:

Full Query
Type ID Summary Assigned to Priority
defect 1478125 Texture upload performance could be better on Windows Jeff Muizelaar [:jrmuizel] P3
defect 1558677 Makepad scrolling is slow with WebRender P3
task 1567511 Very noisy GPU times P3
enhancement 1729328 Avoid copying images row by row in texture uploads Nicolas Silva [:nical] P3
enhancement 1732726 Use PBO uploads on Windows Nicolas Silva [:nical] P3
defect 1573113 https://propjockey.github.io/DOMinion-build-demo/ breaks webrender P3
defect 1598789 Terrible scrolling performance in portions of taskcluster log P3
defect 1599558 Video texture upload still runs into format conversion Dzmitry Malyshau [:kvark] P3
defect 1611582 Scrolling on myheritage.com is very laggy with WebRender P3
defect 1628736 Slow scrolling performance on large changeset on hg.mozilla.org (VBO upload) P3
defect 1676528 Scrolling apple.com significantly slower with WebRender on 2018 MacBook Air P3
defect 1683354 [Bug] Scrolling stutter on gadgets.ndtv.com website P3
defect 1699261 [Bug] choppy scrolling on https://www.deutsche-rentenversicherung.de P3
defect 1719169 Scrolling past images makes scrolling choppy P4
defect 1521265 Slow Frames detected on Slurpee Canada home page (canvas perf) P5
defect 1707796 Choppy scrolling on https://gotofitnessclub.com/ --
enhancement 1711062 Scrolling on https://www.blog.google/products/chrome/manage-tabs-with-google-chrome/ is janky near the bottom of the page (animated images) --
defect 1715059 Slow animation at https://discord.com/hypesquad --
task 1724129 https://codepen.io/trangthule/pen/vYmpNYR is very slow Glenn Watson [:gw] --
defect 1736108 Zooming https://www.bia.gov/sites/bia.gov/files/assets/public/webteam/pdf/idc1-028635.pdf is slow in Firefox --
defect 1647908 Bad performance on https://questdb.io/ from animated background svg --
defect 1672182 Bad performance on https://gatewayusa.com/products.html --

22 Total; 22 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Batching

Metabug: wr-batching

Performance issues caused by high amounts of draw calls. 100 draw calls per frames is a reasonable amount (not a hard limit). Multiple hundreds, however, tend to cause excessive CPU usage in the renderer.

Useful prefs:

  • gfx.webrender.debug.profiler-ui: "#Draw calls"
Full Query
Type ID Summary Assigned to Priority
defect 1573113 https://propjockey.github.io/DOMinion-build-demo/ breaks webrender P3
defect 1580864 Janky scrolling with interactive map P3
task 1585374 Investigate batching algorithm improvements Nicolas Silva [:nical] P3
task 1615613 Unify the text and brush shader infrastructures Nicolas Silva [:nical] P3
task 1622226 Pack more images in the shared texture cache P3
enhancement 1624272 Decouple texture cache storage and batching P3
defect 1637580 Very poor javascript + SVG animation performance P3
defect 1651753 Janky WebRender scrolling on reallifecomics.com with Renderer thread swamped in draw_alpha_batch_container P3
defect 1732594 Browser freezes. 2.0s BHR detected hang P3
defect 1457806 https://output.jsbin.com/surane/quiet is not smooth P4
defect 1457683 servo moire demo is much slower in Firefox + WebRender than in Chrome P5
defect 1639889 Scrolling hackmd.io is much worse in Firefox than Chrome --
defect 1648597 Pinch to zoom on https://shkspr.mobi/blog/2020/06/symbian-won/ is slow --

13 Total; 13 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Picture Caching

Metabug: picture-cache-perf

See also: incremental-perf

Useful prefs:

  • gfx.webrender.debug.profiler-ui: "#Rendered picture tiles, ,Picture cache slices,Picture tiles,Picture tiles mem"
Full Query
Type ID Summary Assigned to Priority
enhancement 1536360 [meta] Picture caching improvements P2
defect 1689746 Slow scrolling on weather.com today page Glenn Watson [:gw] P3
defect 1519718 Slow Frames detected on singlesprout home page Dzmitry Malyshau [:kvark] P3
defect 1581571 High GPU consumption on page with no visible changes. P3
defect 1595680 Slightly different values in display lists causing extra picture cache invalidations. P3
defect 1595909 Image masks with different keys being added during scrolling P3
defect 1620401 "Open source. Open minds." on mozilla.org invalidates the picture cache when scrolling upwards P3
defect 1675030 Picture cache invalidates when tile device rect is unchanged Andrew Osmond [:aosmond] P3
enhancement 1591540 Special-case solid color OS compositor surfaces in order to save memory --
enhancement 1647080 WebRender/WR: Scrolling hangs shortly on purecss-francine Glenn Watson [:gw] --
defect 1647903 Scrolling https://github.com/servo/pathfinder/pull/350/files is a bad time --

11 Total; 11 Open (100%); 0 Resolved (0%); 0 Verified (0%);


DisplayList building

Metabug: wr-displaylist-perf

Useful prefs:

  • gfx.webrender.debug.profiler-ui: "Transaction times"
Full Query
Type ID Summary Assigned to Priority
defect 1416082 [meta] MotionMark perf P3
defect 1480964 With WR, Scrolling on maze solver page is janky. Non-WR is smooth (WR scrolling is not async enough) P3
defect 1501545 testcase from bug 1123075 performs poorly on WR, and takes several GB of RAM on higher count P3
enhancement 1533135 Scrolling on bing images search results is sluggish P3
defect 1605155 Opening a video in Picture-in-Picture still causes the originating tab to compute DisplayLists at the video frame rate while the tab is the foreground P3
defect 1617372 [WebRender] Higher CPU and GPU usage on https://f1sport.auto.cz/clanek/ztracime-hodnoti-binotto-ktery-neni-tak-optimisticky-jako-vloni P3
enhancement 1631752 Serialize/deserialize the webrender displaylist to/from shared memory P3

7 Total; 7 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Blob image rasterization

Metabug: blob-perf

Blob image performance affect SVG and a few drawing primitives that aren't supported by WebRender.

A few common themes in blob image performance bugs:

  • Rasterization performance on the CPU (rasterization itself, malloc contention)
  • Overhead of replaying commands on multiple tiles.
  • Bad layerization causing many rasterized tiles and a lot of overdraw.
  • Rendering very large blobs failing to account for parts that aren't visible.
  • SVG filters on the CPU.

See also:

Useful prefs:

  • gfx.webrender.blob.paint-flashing: true
  • gfx.webrender.debug.profiler-ui: "#Blob rasterization,#Rasterized blob pixels,#Rasterized blob tiles,#Rasterized blobs"
Full Query
Type ID Summary Assigned to Priority
defect 1617420 Massive lags on page load on some sites including mouse movement P2
enhancement 1447839 Stop using PathBuilderSkia in PathBuilderRecording Jeff Muizelaar [:jrmuizel] P2
defect 1450375 blob-image: https://www.jpro.one/ runs poorly Jeff Muizelaar [:jrmuizel] P2
defect 1686590 [Bug] Very slow, choppy performance of SVG compared to Chrome on same device (example included) P3
defect 1552405 The "info" panel on the perf-html.io page scrolls really bad with WR (Blur/Filter related?) P3
defect 1621532 The above the fold animation is too slow on https://kaganhotel.com P3
enhancement 1686654 Reenable active SVG images P3
defect 1557069 https://crisal.io/aemet-visualizer takes a lot of time to render beceause of high blob recording times P3
enhancement 1623515 iPad Pro site takes over 100ms of GPU time with Webrender P3
defect 1566942 Very slow animations with SVG filters. P3
defect 1623634 Huge mask rasterization and upload on https://www.apple.com/ipad-pro/ P3
task 1567291 Malloc contention on WrWorker threads is still too high P3
defect 1624304 Scrolling SVG lags badly and gets worse with WR P3
defect 1705866 Slow scrolling on bose.com P3
defect 1568027 WebRender performs worse on Binding of Isaac CodePen demo (svg filters/blob) P3
task 1628105 Rasterize blobs in bigger buffers P3
defect 1578964 Terrible animation performance (svg filters) P3
defect 1637580 Very poor javascript + SVG animation performance P3
defect 1719779 Slow blob recording in codepen demo (and bad gpu time) P3
enhancement 1389712 switching to a Google Slides tab is slow (long repaint) P3
defect 1579977 Poor scrolling performance on Apple Music Beta Nicolas Silva [:nical] P3
defect 1580864 Janky scrolling with interactive map P3
enhancement 1583545 Add linear gradient clips in webrender Nicolas Silva [:nical] P3
enhancement 1661037 Render more types of SVG content with WebRender display items P3
enhancement 1583879 Detect and skip empty blob tiles Nicolas Silva [:nical] P3
enhancement 1585781 SVG: Container item bounds changes cause invalidations P3
enhancement 1661044 Avoid breaking blob groups in some cases P3
enhancement 1458302 Use nsDisplayItem::IsReused as a preliminary check to figure out if nsDisplayTransform's transform has changed P3
enhancement 1587827 Don't build gecko display items for SVG elements with webrender. P3
defect 1662297 Zillow using massive amounts of memory P3
defect 1477371 https://creativecluster.lu/ animation at very bottom of page is slow because of large blob Jeff Muizelaar [:jrmuizel] P3
defect 1594768 Too many blob layers on https://www.goodfour.us/ P3
defect 1493466 Circle animation on radio website is janky (too much texture upload because SVG blob clip is ignored) Jeff Muizelaar [:jrmuizel] P3
enhancement 1595799 Use webrender display items instead of blobs when possible P3
defect 1514047 Too much blob layerization when clicking a circle on https://immersion.media.mit.edu/demo P3
defect 1607890 Slow paints in visbug P3
enhancement 1673653 Support for rasterizing SVG images on WR worker threads Andrew Osmond [:aosmond] P3
defect 1519622 Bad performance on https://musicmap.info when zooming with webrender enabled (svg/blob) P3
enhancement 1610409 Add support for luminance masking in PushLayer P3
defect 1676113 High CPU and big memory leak on windows 10 WebRender (SVG/Blob/Scenebuilder) P3
defect 1551733 Pretty bad performance on http://mind-map.glitch.me/ P3
enhancement 1450402 Consider caching paths across recordings P4
defect 1688765 [SVG] SVG images on https://test.ig-klettern.org/ make scrolling choppy and slow --
defect 1698189 Excessive memory usage trigger by padding --
defect 1708971 Up to 160% CPU load due to SVG animations on https://feedly.com --
defect 1637876 Animations are very laggy while scrolling on Kaipoche site (NSFW) --
defect 1644514 Incredible bad rendering performance on digitalocean.com hero due to Webrender display list jank --
defect 1663387 Poor scrolling performance on westfield.co.nz (very large blob copy) Glenn Watson [:gw] --
defect 1667241 Large SVG image drawing on fivethirtyeight forecast --

49 Total; 49 Open (100%); 0 Resolved (0%); 0 Verified (0%);


SVG filters metabug: wr-svg-filters

Full Query
Type ID Summary Assigned to Priority
defect 1568027 WebRender performs worse on Binding of Isaac CodePen demo (svg filters/blob) P3
task 1573657 Support SVG filter primitive subregions in WebRender P3
task 1573994 Update Gecko to use new SVG filter primitives Brad Werth [:bradwerth] P3
defect 1578964 Terrible animation performance (svg filters) P3
enhancement 1700721 Support combining sRGB conversion with filtering in brush_blend.glsl Nicolas Silva [:nical] P3
defect 1455427 SVG filters on HTML content is a bad time P3
defect 1566942 Very slow animations with SVG filters. P3
defect 1698365 https://www.digibank.co.il/ causes high CPU and power consumption --
defect 1708971 Up to 160% CPU load due to SVG animations on https://feedly.com --

9 Total; 9 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Glyph rasterization

These bugs affect CPU time and texture uploads.

Metabug: 1681339

Useful prefs:

  • gfx.webrender.debug.glyph-flashing: true
  • gfx.webrender.debug.profiler-ui: "#Rasterized glyphs,#Glyph resolve,#Texture cache update"
Full Query
Type ID Summary Assigned to Priority
defect 1668431 Slow scrolling on Google Pixel 5 store page P3
enhancement 1681346 Deduplicate system fonts in WebRender P3
defect 1518995 Outstream.com page tilt effect is very laggy and jumpy with WebRender enabled P3
defect 1672235 https://disneyanimation.com/data-sets/ renders slowly --
defect 1674864 Slow scrolling on https://stirringabyss.com/ --
defect 1639889 Scrolling hackmd.io is much worse in Firefox than Chrome --

6 Total; 6 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Scheduling

Metabug: frame-scheduling

Useful prefs:

  • gfx.webrender.debug.profiler-ui: "#Content send,#API send"
Full Query
Type ID Summary Assigned to Priority
defect 1603453 When the CPU is under load posting tasks to the renderer thread's eventloop can take a long time P3
task 1612441 Investigate whether we can avoid blocking during swap buffers in the renderer P3
enhancement 1612443 Do frame building and rendering on the same thread P3
defect 1614734 Time spent stuck in RendererOGL::WaitForGPU() P3
defect 1668339 Bad WR performance with low number of cores when the CPU is busy P3
enhancement 1671490 Increase the priority of the gpu process P3
defect 1686358 Hit testing interaction with the APZ lock can be expensive P3
defect 1715317 Scrolling lag and stuttering on basic website - intel graphics --
task 1735391 [meta] Reduce compositing latency by waiting for vsync in fewer cases --

9 Total; 9 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Metabug: vsync

Full Query
Type ID Summary Assigned to Priority
defect 1592530 GLXVsyncThread occupied high CPU (GLXtest process failed (exited with status 1): Unable to load libGL.so.1) P2
enhancement 1563075 Implement FrameSource compositing abstraction P3
defect 1586929 Fullscreen video vsync broken on g-sync capable monitors when enabled in nvidia control panel P3
defect 1587040 VSync firing 255 times more frequently than normal during "display off" sleep on Windows P3
defect 1592786 XWayland: Compositing gets capped at 30fps after extended uptime on Linux P3
defect 1630490 Vsync cap on 144 hz Multi-monitor Setup & SW VSYNC P3
defect 1647166 On Linux, rendering in multiple sessions splits refresh rate P3
defect 1650276 VSync timestamp handling is confused, inconsistent, and non-optimal P3
defect 1650499 Win7: Wrong Hz display detection P3
defect 1657905 Firefox is laggy when using on external 75Hz 1080p monitor, on Pop OS, with and without webrenderer on, but window works perfectly fine when moved over to the laptop's display. P3
defect 1400553 Firefox on primary monitor at 75hz makes firefox occasionally drop FPS. Vsync/DWM issue? (Redstone 3 build) P3
defect 1562155 Linux hardware vsync guesses the rate, and interferes with requestIdleCallback P3
enhancement 1681830 Stop using DwmFlush on Windows --
defect 1687142 Vsync drift due to inaccurate mVsyncRate Kacper Michajłow [:kasper93] --
defect 1705695 [LINUX] Rendering at 60Hz despite the monitor refresh rate set to 144Hz when using MOZ_X11_EGL=1 (layout.frame_rate fixes it) --

15 Total; 15 Open (100%); 0 Resolved (0%); 0 Verified (0%);


GPU time

Useful prefs:

  • gfx.webrender.debug.profiler-ui: "Frame stats, ,#GPU,#Rendered picture tiles,|,GPU time queries"
  • gfx.webrender.debug.gpu-time-queries: true


Caching

Metabug: wr-caching

Full Query
Type ID Summary Assigned to Priority
enhancement 1548396 Support picture caching on child pictures. P2
defect 1463318 https://flow.org/ runs poorly with WebRender on low end GPUs P2
defect 1528376 High GPU usage on https://pressprogress.ca/jason-kenneys-labour-reforms-are-arbitrary-and-ridiculous-workers-rights-advocates-say/ P3
defect 1550796 Bad GPU performance on https://ultralig.ht/ with WebRender P3
defect 1552318 Scrolling is super laggy on https://templates.cartflows.com/ebook-landing/ P3
defect 1579977 Poor scrolling performance on Apple Music Beta Nicolas Silva [:nical] P3
defect 1519718 Slow Frames detected on singlesprout home page Dzmitry Malyshau [:kvark] P3

7 Total; 7 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Too many render passes

Metabug: wr-render-passes

Note, it's likely that most of the bugs below would be fixed by caching the render passes (bucket above).

Full Query
Type ID Summary Assigned to Priority
defect 1664478 Blend modes and other effects on a single image force an extra intermediate target P2
defect 1517926 Bad performance on nested CSS keyframe animation P3
task 1549734 Reduce the resolution of some render tasks when going over GPU memory budget P3
defect 1580864 Janky scrolling with interactive map P3
enhancement 1597326 Avoid separate surfaces in WebRender if preserve-3d children don't intersect P3
defect 1732594 Browser freezes. 2.0s BHR detected hang P3

6 Total; 6 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Overdraw

Metabug: 1613404

Full Query
Type ID Summary Assigned to Priority
enhancement 1485534 Images that have alpha channels but are actually opaque go in the transparent pass Patrick Walton (:pcwalton) P2
defect 1504590 Slow 3d transform rendering on https://keithclark.co.uk/articles/pure-css-parallax-websites/demo3/ in debug mode P3
enhancement 1558133 Reducing overdraw with huge semi-transparent images P3
enhancement 1597324 Detect opaque split planes in WebRender P3
defect 1733455 sw-wr: background image scrolling is very choppy on colorpeople.com P3
defect 1457683 servo moire demo is much slower in Firefox + WebRender than in Chrome P5
enhancement 1596634 When blur filter is applied on a large area, it delays the full rendering --
defect 1674864 Slow scrolling on https://stirringabyss.com/ --

8 Total; 8 Open (100%); 0 Resolved (0%); 0 Verified (0%);


GPU times (others)

Metabug: wr-gpu-time

Full Query
Type ID Summary Assigned to Priority
defect 1664478 Blend modes and other effects on a single image force an extra intermediate target P2
defect 1614141 High gpu usage on https://pcsx4.com/faq/ on Mac P3
enhancement 1623515 iPad Pro site takes over 100ms of GPU time with Webrender P3
defect 1518995 Outstream.com page tilt effect is very laggy and jumpy with WebRender enabled P3
defect 1528376 High GPU usage on https://pressprogress.ca/jason-kenneys-labour-reforms-are-arbitrary-and-ridiculous-workers-rights-advocates-say/ P3
defect 1550796 Bad GPU performance on https://ultralig.ht/ with WebRender P3
defect 1728780 Bad GPU time on system76 website P3
defect 1556166 Bad performance on https://www.gitbook.com/ P3
defect 1560671 https://www.cricketworldcup.com/ is slow P3
enhancement 1651985 Animation causes webrender page to take more and more GPU time, resetting every ~10s P3
defect 1561145 https://www.sidewalklabs.com is slow with WebRender P3
defect 1652511 Scrolling on https://www.aspyredesign.com/ is extremely janky (with lots of time spent in painting) P3
defect 1562369 Janky scrolling on https://www.bareminerals.com P3
defect 1654231 Nvidia powerstates causing stuttering in web browser P3
defect 1568877 Google calendar month transition is slow with WebRender P3
defect 1659338 Janky scrolling on mobile in www.rrweb.io (bad GPU time) P3
defect 1580264 Scrolling background causes 90+% GPU activity with webrender enabled P3
enhancement 1664060 Tiled masks in WebRender P3
enhancement 1583856 Segment very large border radii. P3
defect 1668431 Slow scrolling on Google Pixel 5 store page P3
enhancement 1606222 Network connection - High GPU load until the "connection timeout" message appear caused by throbber P3
defect 1609055 Bad GPU times on hackmd.io P3
defect 1673290 https://ics-creative.github.io/180914_conic_gradient/line_effect/ is slow due to large layer sizes and clips P3
defect 1614105 Transitions between background images are janky on https://www.nrk.no/chasing-climate-change-1.14859595 P3
enhancement 1690401 brush_mix_blend shader could use premultiplied blend math instead of doing expensive un-premultiplies Brad Werth [:bradwerth] P3
enhancement 1694908 Turn picture composite modes into their own primitive kinds --
enhancement 1695960 Better cache/reuse clip masks for rounded corners --
task 1639336 Investigate high times in target_init GPU profiling bucket on low-end Intel GPUs Bert Peers [:bpeers] --
defect 1707845 Jittery 3D CSS --
defect 1639889 Scrolling hackmd.io is much worse in Firefox than Chrome --
enhancement 1709941 Avoid allocating clip targets with no tasks in WebRender --
defect 1640435 https://blog.onepeloton.com/peloton-covid-19-initiatives/ scrolls poorly on Mac --
enhancement 1647080 WebRender/WR: Scrolling hangs shortly on purecss-francine Glenn Watson [:gw] --
enhancement 1596634 When blur filter is applied on a large area, it delays the full rendering --
defect 1672235 https://disneyanimation.com/data-sets/ renders slowly --

35 Total; 35 Open (100%); 0 Resolved (0%); 0 Verified (0%);


GPU Memory usage

Metabug: wr-gpu-memory

Useful prefs:

- See all profile counters starting with "Texture cache" in addition to "Created targets".
Full Query
Type ID Summary Assigned to Priority
enhancement 1475518 Commit-space usage investigation P3
defect 1614922 GPU memory usage is (very) high when gfx.webrender.compositor is enabled P3
defect 1615051 Hangs caused by expensive animations on https://paulstamatiou.com/work/ can freeze Firefox P3
defect 1701643 Webrender per-window memory overhead is high P3
enhancement 1701986 Share and reuse Direct composition surfaces between multiple windows P3
defect 1716317 A lot of GPU memory goes into the render target pool Nicolas Silva [:nical] P3
enhancement 1716525 Flush caches and pools from least recently shown windows when under memory pressure P3
enhancement 1716579 Reduce the memory usage of windows that haven't been rendered for a long time Nicolas Silva [:nical] P3
defect 1715957 Very high gpu memory usage with many windows --

9 Total; 9 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Android

Metabug: wr-android-perf

Full Query
Type ID Summary Assigned to Priority
enhancement 1536358 Prototype using PLS for clip task rendering on mobile devices with WR P2
defect 1665518 leganerd.com unbereably laggy on Fenix Andrew Osmond [:aosmond] P2
defect 1498735 Too much GPU time in the sidebar animation on html5test.com on Android P3
enhancement 1507669 Fix RGBA format handling in SurfaceTextureHost::PushResourceUpdates() P3
enhancement 1533135 Scrolling on bing images search results is sluggish P3
enhancement 1562818 Add support of AHardwareBuffer on Android Sotaro Ikeda [:sotaro] P3
defect 1609217 Scrolling on https://webassembly-summit.org/speakers/ feels sluggish with WebRender on Samsung Galaxy A7 P3
enhancement 1614694 Load non-startup shaders from disk in a background thread Jamie Nicol [:jnicol] P3
defect 1617979 Reduce Renderer initialization time on Android P3
defect 1618968 First frame rendering takes longer in Fenix than Fennec due to WebRender P3
defect 1629443 Stuttering scroll with WebRender on Pocket Trending page (LG G4, Adreno 418) P3
defect 1732817 Scrolling on apple.com is much less smooth on fenix than in chrome with backdrop-filter --

12 Total; 12 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Linux

Metabug: wr-linux-perf

Full Query
Type ID Summary Assigned to Priority
defect 1583881 Stuttering while scrolling on Intel GPU on Linux P3
defect 1601432 WebRender abnormal high CPU load with JavaScript off P3
defect 1650731 Extremely high input latency with Mattermost P3
defect 1676445 Enabling WebRender regresses several AWSY results P3
defect 1682135 Low frame and late response for hamburger menu from Linux Firefox 85 with 125% fractional scaling (waiting on the window server) P3
defect 1676818 webrender is slower on web.basemark.com P4
enhancement 1640710 [meta] wr-non-os-compositor P5
defect 1530951 3.58 - 3.99% sessionrestore / sessionrestore_no_auto_restore / ts_paint / ts_paint_webext (linux64-pgo-qr) regression on push 44192297e3ae55473fbe669a681f937191a54b81 (Tue Feb 26 2019) P5
defect 1640100 8% Heap Unclassified (linux1804-64-shippable-qr) regression on push 0caead34be39e30750098ceaf5738dd0d1850273 (Fri May 15 2020) --
defect 1659143 OpenGL compositing and webrender lower performance in Firefox on Linux on Intel HD 5500 --
enhancement 788319 [meta] Use EGL instead of GLX on X11 --

11 Total; 11 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Software WebRender (SWGL)

Metabug: sw-wr-perf

Full Query
Type ID Summary Assigned to Priority
enhancement 1669842 Make sure our present path on Windows is as fast as possible P3
defect 1678800 Janking while doing touchpad scroll on kobol.io (sw-wr) P3
defect 1713648 Bad performance with SWGL on https://termsandconditions.game/ P3
enhancement 1695273 [NSFW] Slowness remaining on scrolling nsfw reddit after bug 1694017 is resolved P3
defect 1730270 FF 92 on C2D and Intel 965, poor webrender performance when playing video, no problem with Direct3D. FF displays windows incorrectly, changes the dimensions and position/jumping bars P3
enhancement 1695564 Add partial rects handling to RenderCompositorD3D11SWGL P3
defect 1733405 No-op composites with SWGL do too much work P3
defect 1733455 sw-wr: background image scrolling is very choppy on colorpeople.com P3
enhancement 1699765 Implement async uploads for Android+ES2 in RenderCompositorOGLSWGL P3
defect 1705006 Scrolling on google images is janky on Mali-400(sw-wr) P3
task 1621383 Software WebRender benchmarking P3
enhancement 1647951 Investigate shared SWGL contexts or some form of inter-window SWGL resource sharing P3
defect 1705986 (sw-wr) A little stuttery scrolling on https://www.timecube.com/ P3
enhancement 1692583 Make SWGL use a polynomial approximation for atan2() for conic gradients P4
enhancement 1696101 Add partial rects handling to RenderCompositorOGLSWGL P4
defect 1709737 rally.mozilla.org parallax animation is very laggy with SW-WR --
defect 1710489 Scrolling on facebook slow after some time with webrender-software --
defect 1711685 Scrolling is janky on news.ycombinator.com with sw-wr on a Mali400 device --
defect 1680821 Software webrender is slow with large SVGs --
defect 1711694 Poor performance while scrolling w/swiggle (Pixel 3) --
defect 1681747 sw-wr performance bad when viewing pdfs on macOS Matt Woodrow (:mattwoodrow) --
defect 1711998 texture conversion during glTexSubImage with sw-wr on mali-400 --
defect 1683230 Bad border performance on amazon ad with SW-WR Brad Werth [:bradwerth] --
defect 1727993 Each window currently has its own SwComposite thread - please share one thread across all windows --
enhancement 1697500 [meta] sw-wr android --
defect 1700597 Hovering or scrolling over past editions on https://www.miragefestival.com WebRender is laggy with Webrender software enabled --
defect 1700921 Flipping pages on Flippingbook.com is jerky with Webrender Software enabled --
enhancement 1705925 (sw-wr) Stuttery scrolling on https://www.foxitsoftware.com/pdf-reader/ Glenn Watson [:gw] --

28 Total; 28 Open (100%); 0 Resolved (0%); 0 Verified (0%);


See also:

Canvas 2D

Metabug: canvas-perf

Full Query
Type ID Summary Assigned to Priority
defect 1190398 BLCK4777 1kb js site is very janky with my triangles on screen P3
defect 1656959 Significantly higher GPU use in Firefox on bilibili.com when compared to Chromium browsers P3
defect 1662203 Canvas on android causes stuttering (https://store.google.com/ca/product/pixel_4a) P3
defect 1673168 Poor drawImage() video performance compared to other browsers P3
defect 1560450 [meta] Some apps are slower with software-only canvas2d --
defect 1671968 Playback continues even after closing a tab --
defect 1672452 https://map.mta.info is slow on macOS --
defect 1689691 Bad performance on Vertex (nytimes.com game) --

8 Total; 8 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Tools

Metabug: wr-perf-tools

Full Query
Type ID Summary Assigned to Priority
task 1645021 Reduce the cost of displaying HUD profiling tools in WebRender P3
task 1728620 Add some telemetry for slow frame categories Nicolas Silva [:nical] P3
defect 1737001 Crash in RenderCompositorEGL::EndFrame when using renderdoc on Linux P3
task 1583884 Show the number of blob tiles in existence in webrender's builtin profiler HUD P3
enhancement 1641101 Add support for profiling how often the same glyph has been evicted and re-rasterized P3

5 Total; 5 Open (100%); 0 Resolved (0%); 0 Verified (0%);


General WebRender perf metabug

Metabug: wr-perf

During graphics triage, WebRender performance bugs are added as dependency to the wr-perf meta-bug. The next step is to replace the wr-perf dependency with one of the more specific meta-bugs above.


Full Query
Type ID Summary Assigned to Priority
defect 1487864 Improve frame scheduling in WebRender - Strange couplets of animation frames on expensive main-thread-driven animation P2
task 1613373 [meta] WebRender SVG filters P3
enhancement 1631949 Investigate merging shader cache files Doug Thayer [:dthayer] (he/him) P3
enhancement 1682206 Add a capability to disable video rendering to Main window during PIP P3
enhancement 1525420 Slow performance on https://keithclark.co.uk/labs/css-fps/nojs/ Dzmitry Malyshau [:kvark] P3
task 1613387 [meta] WebRender DisplayList building performance P3
task 1638122 [meta] Webrender android performance P3
defect 1683290 PiP doubles CPU and GPU load P3
enhancement 1526020 Slightly worse performance on sessionrestore talos test on windows-qr P3
task 1613389 [meta] WebRender caching P3
defect 1683975 Opening a new tab on Big Sur is delayed by 100ms due to system font initialization Markus Stange [:mstange] P3
enhancement 1533135 Scrolling on bing images search results is sluggish P3
task 1613396 [meta] WebRender: Too many render passes P3
enhancement 1545578 Investigate loading early libraries with RTLD_DEEPBIND for WebRender talos wins P3
task 1613404 [meta] WebRender GPU time - overdraw P3
defect 1720263 Increased suttering in Firefox 90 when using multiple monitors with WEBRENDER_DCOMP_PRESENT disabled (=Nvidia default) P3
task 1549734 Reduce the resolution of some render tasks when going over GPU memory budget P3
task 1613407 [meta] WebRender performance - texture/buffer uploads P3
task 1567511 Very noisy GPU times P3
defect 1619093 Scrolling smoothness is worse on WebRender. Dzmitry Malyshau [:kvark] P3
task 1583884 Show the number of blob tiles in existence in webrender's builtin profiler HUD P3
task 1620683 Investigate how long the SyncObjectD3D11Host::Synchronize() call in BeginFrame() takes P3
enhancement 1587827 Don't build gecko display items for SVG elements with webrender. P3
task 1623643 [meta] Picture caching performance P3
defect 1648843 scrolling performance regression for specific site on nightly + webrender P3
task 1692031 Allow usage of KHR_blend_equation_advanced on hardware WR P3
enhancement 1589307 Allow rendering some picture tiles directly into the framebuffer P3
task 1624261 [meta] Reduce WebRender's GPU memory usage P3
task 1659723 [meta] WebRender GPU time P3
enhancement 1692071 Async-er scrolling for WebRender P3
task 1728787 [meta] Low end GPU performance P3
task 1594474 [meta] WebRender batching P3
enhancement 1624493 Remove brush_opacity shader and replace it with brush_image P3
task 1659734 [meta] WebRender Driver/API overhead on the renderer thread P3
defect 1692342 Masked video on https://www.apple.com/ca/iphone-se/ is wrong and renders slow P3
task 1594490 [meta] Improve WebRender's performance tools P3
defect 1625013 noclip.website doesn't run well when using track pad P3
task 1660479 [meta] WebRender scene building performance P3
task 1596042 [meta] Frame building performance P3
defect 1625433 Text and background elements animations are stuttering on fantasy.bnf.fr P3
defect 1501545 testcase from bug 1123075 performs poorly on WR, and takes several GB of RAM on higher count P3
task 1628677 Investigate SSBOs for the GPU cache P3
enhancement 1673653 Support for rasterizing SVG images on WR worker threads Andrew Osmond [:aosmond] P3
defect 1605155 Opening a video in Picture-in-Picture still causes the originating tab to compute DisplayLists at the video frame rate while the tab is the foreground P3
enhancement 1628682 Map large buffers that the render backend can fill directly P3
enhancement 1607452 [meta] WR Perf P1s P3
enhancement 1631752 Serialize/deserialize the webrender displaylist to/from shared memory P3
task 1698701 Consider disabling subpixel AA by default on high resolution devices P3
enhancement 1522262 https://www.quantifiedplanet.org/ is slower with Firefox than Chrome P3
task 1728788 [meta] wr-perf graveyard P4
defect 1509966 [meta] Slow frames on a variety of pages P4
task 1640712 non-os-compositor: Damage rects currently get joined to the bounding rect P5
enhancement 1370998 [meta] Tracking bug for WebRender memory issues P5
enhancement 1599611 enable putting hit test info on container display items (from bug 1503046) for webrender P5
enhancement 1508188 [meta] perf bugs included in the CONTENT_FULL_PAINT_TIME metric P5
defect 1708408 Up to 50% CPU load for animated (job is running) SVG on Github Actions page --
defect 1709638 Overscrolling on reddit causes fullscreen repaints --
defect 1639892 WebRender doesn't work great on https://en.wikipedia.org/wiki/Grey%27s_Anatomy_(season_16) on Mac --
defect 1710472 WebRender Mac: large GPU power use when showing PDF inline --
defect 1640205 Scrolling is slow on https://garry.tv/unity-2020 on macOS --
defect 1686109 RenderCompositorNative::MaybeGrabScreenshot should check ProfilerScreenshots::IsEnabled() before calling mNativeLayerRoot->CreateSnapshotter() --
enhancement 1710778 Testcase is much more slower with animated text and faster if animated text is removed Glenn Watson [:gw] --
defect 1689225 Low FPS Scrolling on Touchpad (Windows 4k) --
defect 1642276 Slow frames, CPU heating up on Google Pixelbook Go product page on Google Store --
task 1689392 [Meta] investigate performance issues on Reddit. --
enhancement 1720979 Slow animation (and lots of CPU use) on a codepen demo --
defect 1647484 https://www.apple.com/macos/big-sur-preview/ has bad performance with WebRender --
defect 1690673 We can get into a state where the compositor keeps compositing even though there's nothing to do --
defect 1721702 twitch uses more GPU in Firefox than Chrome --
enhancement 1647947 Expose dirty regions before wr_renderer_render so that RenderCompositor::BeginFrame can utilize them --
task 1691404 [meta] incremental perf --
defect 1722764 Juddering on touchpad scroll on Facebook Marketplace --
defect 1725420 Slow loading of page elements on wizard-shoji.webflow.io caused by large svg image --
defect 1692585 pause on initial load with WebRender on Intel HD 4600 --
defect 1730823 FF 92 High GPU usage randomly --
enhancement 1667917 Allow binding WebGL IOSurface directly to CoreAnimation compositor layers --
defect 1692828 Scrolling lags due to long composites on mac --
defect 1732196 Pinch to zoom lag in fenix on gsmarena's desktop site --
task 1600219 Investigate to remove WaitForGPU() --
defect 1693130 Stuttering while scrolling on Nvidia 144Hz monitor --
defect 1674837 scrolling https://utmagazine.ru/finansoviy-slovar-treidera is not smooth --
defect 1698673 Janking while doing touchpad scroll on yahoo.com --
defect 1677364 After OOM crash nn a contrived testcase, the GPU process doesnt release 4.1GB memory unless force terminated from about:support Brad Werth [:bradwerth] --

83 Total; 83 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Other meta-bugs:

- wr-low-end-perf
- wr-perf-graveyard