Platform/GFX/perf triage

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

WebRender Perf Triage

The page highlights the triage of performance related bugs and tasks for WebRender.

High priority bugs

Metabug: wr-perf-p1

Full Query
Type ID Summary Assigned to Priority
defect 1576637 Nighty and Developer the scroll is jerky on Intel 4600 P2
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 1611908 A lot of time spent managing primitive dependencies during frame building P3
defect 1616901 Texture cache (re)allocation performance issues Nicolas Silva [:nical] P3
defect 1623669 A lot of picture cache invalidation when the scrollable area isn't the root of the document P3

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


CPU time

Frame building

Metabug: wr-frame-building

Full Query
Type ID Summary Assigned to Priority
defect 1562433 Very high CPU utilization from pulsating animation P2
enhancement 1587906 Track WR frame building performance separately from the scene building P3
defect 1596046 A lot of vector allocations during frame building P3
defect 1596054 picture::TileNode::update_dirty_rects sometimes is high in profiles 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
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
task 1613067 Investigate using cluster dependencies to skip visibility on some clusters P3
enhancement 1614691 Don't re-build the hit-test tree every frame when nothing moves P3
task 1623003 Investigate / optimize the performance of resource_cache::begin_frame P3
enhancement 1525061 CSS cursor animation dimming opacity causes 20% CPU utilisation with WebRender P3

14 Total; 14 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.

Full Query
Type ID Summary Assigned to Priority
defect 1457683 servo moire demo is much slower in Firefox + WebRender than in Chrome P2
defect 1457806 https://output.jsbin.com/surane/quiet is not smooth P2
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 1480945 XDA forum page scrolls jankily with WR P3
defect 1520401 Poor performance on Letterboxd list pages P3
defect 1530511 Janky scrolling on http://debtsm.art/rgx-english.html P3
task 1585374 Investigate batching algorithm improvements Nicolas Silva [:nical] P3

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


Picture Caching

Metabug: picture-cache-perf

Full Query
Type ID Summary Assigned to Priority
enhancement 1536360 [meta] Picture caching improvements P2
defect 1595680 Slightly different values in display lists causing extra picture cache invalidations. P3
defect 1599606 Too many picture cache slices with background-attachment:fixed due to scrolled background color Markus Stange [:mstange] P3
enhancement 1620014 Picture caching doesn't work on http://www.jagregory.com/abrash-black-book/ on Android P3
defect 1620401 "Open source. Open minds." on mozilla.org invalidates the picture cache when scrolling upwards P3
defect 1623669 A lot of picture cache invalidation when the scrollable area isn't the root of the document P3
enhancement 1591540 Special-case solid color OS compositor surfaces in order to save memory --

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


DisplayList building

Metabug: wr-displaylist-perf

Full Query
Type ID Summary Assigned to Priority
defect 1416082 [meta] MotionMark perf 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
defect 1480964 With WR, Scrolling on maze solver page is janky. Non-WR is smooth (WR scrolling is not async enough) P5

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


Blob image rasterization

Metabug: blob-perf

Full Query
Type ID Summary Assigned to Priority
defect 1493466 Circle animation on radio website is janky (too much texture upload because SVG blob clip is ignored) Jeff Muizelaar [:jrmuizel] P2
defect 1617420 Massive lags on page load on some sites including mouse movement P2
defect 1415001 Large painted layer in the chrome tabstrip 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
enhancement 1450402 Consider caching paths across recordings P2
enhancement 1595799 Use webrender display items instead of blobs when possible Alexis Beingessner [:Gankra] P3
defect 1514047 Too much blob layerization when clicking a circle on https://immersion.media.mit.edu/demo P3
defect 1624304 Scrolling SVG lags badly and gets worse with WR P3
defect 1519622 Bad performance on https://musicmap.info when zooming with webrender enabled (svg/blob) P3
defect 1551733 Pretty bad performance on http://mind-map.glitch.me/ P3
defect 1552405 The "info" panel on the perf-html.io page scrolls really bad with WR (Blur/Filter related?) P3
enhancement 1555356 Google docs images use blobs Alexis Beingessner [:Gankra] P3
defect 1557069 https://crisal.io/aemet-visualizer takes a lot of time to render beceause of high blob recording times P3
defect 1566942 Very slow animations with SVG filters. P3
task 1567291 Malloc contention on WrWorker threads is still too high P3
defect 1568027 WebRender performs worse on Binding of Isaac CodePen demo (svg filters/blob) P3
defect 1578964 Terrible animation performance (svg filters) P3
defect 1580864 Janky scrolling with interactive map P3
enhancement 1583545 Add linear gradient clips in webrender Nicolas Silva [:nical] P3
enhancement 1585781 SVG: Container item bounds changes cause invalidations P3
enhancement 1587827 Don't build gecko display items for SVG elements with webrender. P3
enhancement 1458302 Use nsDisplayItem::IsReused as a preliminary check to figure out if nsDisplayTransform's transform has changed P3
defect 1594768 Too many blob layers on https://www.goodfour.us/ P3
defect 1477371 https://creativecluster.lu/ animation at very bottom of page is slow because of large blob Jeff Muizelaar [:jrmuizel] P3

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


Scheduling

Metabug: frame-scheduling

Full Query
ID Summary Assigned to Priority
1612440 Send transactions directly to the scene builder thread when possible P3
1612441 Investigate whether we can avoid blocking during swap buffers in the renderer P3
1612443 Do frame building and rendering on the same thread P3

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


Texture/Buffer uploads

Metabug: 1613407

Full Query
ID Summary Assigned to Priority
1558677 Makepad scrolling is slow with WebRender P3
1567511 Very noisy GPU times P3
1598789 Terrible scrolling performance in portions of taskcluster log P3
1599502 A long time is spent in glBufferData during draw_instanced_batch on my Intel GPU on Mac P3
1599558 Video texture upload still runs into format conversion Dzmitry Malyshau [:kvark] P3
1521265 Slow Frames detected on Slurpee Canada home page (canvas perf) P5

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


GPU time

Caching

Metabug: wr-caching

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

8 Total; 8 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
ID Summary Assigned to Priority
1517926 Bad performance on nested CSS keyframe animation P3
1549734 Reduce the resolution of some render tasks when going over GPU memory budget P3
1580864 Janky scrolling with interactive map P3
1597326 Avoid separate surfaces in WebRender if preserve-3d children don't intersect P3

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


Overdraw

Metabug: 1613404

Full Query
ID Summary Assigned to Priority
1457683 servo moire demo is much slower in Firefox + WebRender than in Chrome P2
1485534 Images that have alpha channels but are actually opaque go in the transparent pass Patrick Walton (:pcwalton) P2
1504590 Slow 3d transform rendering on https://keithclark.co.uk/articles/pure-css-parallax-websites/demo3/ in debug mode P3
1558133 Reducing overdraw with huge semi-transparent images P3
1598972 Opaque gradients are considered transparent Jim Blandy :jimb P3
1596634 When blur filter is applied on a large area, it delays the full rendering --

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


GPU Memory usage

Metabug: wr-gpu-memory

Full Query
ID Summary Assigned to Priority
1614922 GPU memory usage is (very) high when gfx.webrender.compositor is enabled P3
1624263 Pack multiple slab regions per texture array layer P3
1624264 Use different texture cache allocation parameters for main and popup windows P3

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


Tools

Metabug: wr-perf-tools

Full Query
ID Summary Assigned to Priority
1583884 Show the number of blob tiles in existence in webrender's builtin profiler HUD P3
1594659 WebRender's smart profiler HUD groups sometimes overlap. P3
1624627 Revive the slow frame indicator P3

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


General WebRender perf metabug

Metabug: wr-perf

The list below includes bugs from the other lists.

Full Query
ID Summary Assigned to Priority
1543478 The throbber animation heavily regresses performance on main-thread-heavy micro-benchmark P1
1487864 Improve frame scheduling in WebRender - Strange couplets of animation frames on expensive main-thread-driven animation P2
1493466 Circle animation on radio website is janky (too much texture upload because SVG blob clip is ignored) Jeff Muizelaar [:jrmuizel] P2
1415001 Large painted layer in the chrome tabstrip P2
1508116 4-5ms spent scene building new Gmail (scene building is too slow) Dan Glastonbury (:djg) | needinfo me P2
1450402 Consider caching paths across recordings P2
1620895 Scrolling on https://twitter.com/home is not smooth on macOS (WebRender on) P2
1451112 Scrolling of specific website very slow with WebRender enabled (http://www.pcgameshardware.de) P2
1588402 Multiple CONTENT_FRAME_TIME regressions on Intel cards P2
1457683 servo moire demo is much slower in Firefox + WebRender than in Chrome P2
1457806 https://output.jsbin.com/surane/quiet is not smooth P2
1473290 (Page is stuttery to scroll. Uses lots of CPU (brainyquote.com/authors/karl_pilkington) P2
1519718 Slow Frames detected on singlesprout home page Dzmitry Malyshau [:kvark] P3
1548396 Support picture caching on child pictures. P3
1562369 Janky scrolling on https://www.bareminerals.com P3
1582896 Use CHROMIUM_copy_texture on Angle to have texture-texture copies in WR P3
1595909 Image masks with different keys being added during scrolling P3
1604167 Memory Usage Too High, compared to Chrome P3
1614141 High gpu usage on https://pcsx4.com/faq/ on Mac P3
1480945 XDA forum page scrolls jankily with WR P3
1520217 Slow Frames detected on Google Maps P3
1549734 Reduce the resolution of some render tasks when going over GPU memory budget P3
1562370 Janky scrolling on https://mpgsport.com (VectorImage painting and display list building) P3
1583545 Add linear gradient clips in webrender Nicolas Silva [:nical] P3
1596027 2.44% raptor-tp6-office-firefox-cold fcp (linux64-shippable-qr) regression on push 5647ec4ba6f2566912e71637d2c1e063d899c103 (Mon November 4 2019) P3
1604670 Switch webrender math to use intrinsics P3
1614734 Timespent stuck in RendererOGL::WaitForGPU() P3
1520279 Slow Frames detected on Airtable Firefox Layout Backlog page P3
1550796 Bad GPU performance on https://ultralig.ht/ with WebRender P3
1566942 Very slow animations with SVG filters. P3
1583856 Segment very large border radii. P3
1596042 [meta] Frame building performance P3
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
1404477 Chrome repaints cause rebuilds of the entire browser scene P3
1615051 Hangs caused by expensive animations on https://paulstamatiou.com/work/ can freeze Firefox P3
1520401 Poor performance on Letterboxd list pages P3
1551733 Pretty bad performance on http://mind-map.glitch.me/ P3
1567291 Malloc contention on WrWorker threads is still too high P3
1583879 Detect and skip empty blob tiles Nicolas Silva [:nical] P3
1606222 Network connection - High GPU load until the "connection timeout" message appear caused by throbber P3
1405858 nsIFrame::IsThemed is sort of expensive P3
1616901 Texture cache (re)allocation performance issues Nicolas Silva [:nical] P3
1521015 https://neon-bindings.com/ performance is not great P3
1552318 Scrolling is super laggy on https://templates.cartflows.com/ebook-landing/ P3
1567511 Very noisy GPU times P3
1583881 Stuttering while scrolling on Intel GPU on Linux P3
1597324 Detect opaque split planes in WebRender P3
1607890 Slow paints in visbug P3
1410030 The background is cleared twice. P3
1619093 Scrolling smoothness is worse on WebRender. Dzmitry Malyshau [:kvark] P3
1499783 Scrolling on the Google Pixel 3 store page is incredibly laggy P3
1552405 The "info" panel on the perf-html.io page scrolls really bad with WR (Blur/Filter related?) P3
1568877 Google calendar month transition is slow with WebRender P3
1583884 Show the number of blob tiles in existence in webrender's builtin profiler HUD P3
1597326 Avoid separate surfaces in WebRender if preserve-3d children don't intersect P3
1609055 Bad GPU times on hackmd.io P3
1501545 testcase from bug 1123075 performs poorly on WR, and takes several GB of RAM on higher count P3
1522262 https://www.quantifiedplanet.org/ is slower with Firefox than Chrome P3
1553575 MotionMark 1.1 - test "Multiply": scores with Firefox are inconsistent P3
1569673 Enabling WebRender severely impacts vsynctester.com performance P3
1585374 Investigate batching algorithm improvements Nicolas Silva [:nical] P3
1598789 Terrible scrolling performance in portions of taskcluster log P3
1609217 Scrolling on https://webassembly-summit.org/speakers/ feels sluggish with WebRender on Samsung Galaxy A7 P3
1424579 coinmarketcap.com uses a lot more CPU with WebRender than without P3
1620683 Investigate how long the SyncObjectD3D11Host::Synchronize() call in BeginFrame() takes P3
1504590 Slow 3d transform rendering on https://keithclark.co.uk/articles/pure-css-parallax-websites/demo3/ in debug mode P3
1525420 Slow performance on https://keithclark.co.uk/labs/css-fps/nojs/ Dzmitry Malyshau [:kvark] P3
1555356 Google docs images use blobs Alexis Beingessner [:Gankra] P3
1571787 GPU power usage on https://news.ycombinator.com/item?id=17582796 on mac is 2x vs webrender off P3
1585716 Use geometry shader path with layer selection for WebRender picture cache tiles updates P3
1598972 Opaque gradients are considered transparent Jim Blandy :jimb P3
1610409 Add support for luminance masking in PushLayer P3
1526020 Slightly worse performance on sessionrestore talos test on windows-qr P3
1556166 Bad performance on https://www.gitbook.com/ P3
1577337 wizard of oz easter egg still not quite optimal even with webrender P3
1587475 Page faults and Lock contention on the render backend from memory allocations P3
1599502 A long time is spent in glBufferData during draw_instanced_batch on my Intel GPU on Mac P3
1611582 Scrolling on myheritage.com is very laggy with WebRender P3
1623515 iPad Pro site takes over 100ms of GPU time with Webrender P3
1527964 Scrolling the CSS section of a codepen lags like crazy P3
1557069 https://crisal.io/aemet-visualizer takes a lot of time to render beceause of high blob recording times P3
1578199 Sometimes scrolling is only smooth if the profiler is enabled P3
1587713 Remove the late blob rasterization code path Nicolas Silva [:nical] P3
1599558 Video texture upload still runs into format conversion Dzmitry Malyshau [:kvark] P3
1613373 [meta] WebRender SVG filters P3
1623634 Huge mask rasterization and upload on https://www.apple.com/ipad-pro/ P3
1512789 Scrolling inside the kangax table has high latency (Lots of time spent in parent process waiting for APZC) P3
1528376 High GPU usage on https://pressprogress.ca/jason-kenneys-labour-reforms-are-arbitrary-and-ridiculous-workers-rights-advocates-say/ P3
1557733 WebRender is slow to scroll twitter with videos on Mac P3
1578964 Terrible animation performance (svg filters) P3
1587827 Don't build gecko display items for SVG elements with webrender. P3
1613387 [meta] WebRender DisplayList building performance P3
1455346 https://www.inc.com/30-under-30 has a lot of gpu time P3
1623643 [meta] Picture caching performance P3
1514047 Too much blob layerization when clicking a circle on https://immersion.media.mit.edu/demo P3
1529103 Cache gradients in texture cache render tasks. P3
1558133 Reducing overdraw with huge semi-transparent images P3
1579977 Poor scrolling performance on Apple Music Beta Nicolas Silva [:nical] P3
1600178 Come up with a plan to handle multi-GPU environments on macOS in WebRender (GPU switching, eGPU handling) P3
1613389 [meta] WebRender caching P3
1624261 [meta] Reduce WebRender's GPU memory usage P3
1517926 Bad performance on nested CSS keyframe animation P3
1530511 Janky scrolling on http://debtsm.art/rgx-english.html P3
1558677 Makepad scrolling is slow with WebRender P3
1580264 Scrolling background causes 90+% GPU activity with webrender enabled P3
1589307 Allow rendering some picture tiles directly into the framebuffer P3
1613396 WebRender: Too many render passes P3
1624304 Scrolling SVG lags badly and gets worse with WR P3
1517940 High CPU, bad performance on "Humble Book Bundle: Python 2019 by Packt" (clipping perf) P3
1533135 Scrolling on bing images search results is sluggish P3
1560579 Replace rayon with another task scheduling system P3
1580864 Janky scrolling with interactive map P3
1594474 [meta] WebRender batching P3
1600412 Laggy/janky performance on Black Friday and Cyber Monday Live Map P3
1613404 WebRender GPU time - overdraw P3
1624468 Add a fast path for more gradient types in WR Bert Peers [:bpeers] P3
1518995 Outstream.com page tilt effect is very laggy and jumpy with WebRender enabled P3
1560671 https://www.cricketworldcup.com/ is slow P3
1581571 High GPU consumption on page with no visible changes. P3
1594490 [meta] Improve WebRender's performance tools P3
1603453 When the CPU is under load posting tasks to the renderer thread's eventloop can take a long time P3
1613407 WebRender performance - texture/buffer uploads P3
1477371 https://creativecluster.lu/ animation at very bottom of page is slow because of large blob Jeff Muizelaar [:jrmuizel] P3
1624493 Remove brush_opacity shader and replace it with brush_image P3
1519622 Bad performance on https://musicmap.info when zooming with webrender enabled (svg/blob) P3
1545578 Investigate loading early libraries with RTLD_DEEPBIND for WebRender talos wins P3
1561145 https://www.sidewalklabs.com is slow with WebRender P3
1582621 Scene building takes too long (> 7ms) on the MotionMark 1.1 Multiply benchmark P3
1594768 Too many blob layers on https://www.goodfour.us/ P3
1603637 Lots of glyph invalidation on https://lwn.net/ml/oss-security/CALCETrW1z0gCLFJz-1Jwj_wcT3+axXkP_wOCxY8JkbSLzV80GA@mail.gmail.com/ during pinch to zoom P3
1614105 Transitions between background images are janky on https://www.nrk.no/chasing-climate-change-1.14859595 P3
1478125 Texture upload performance could be better on Windows Jeff Muizelaar [:jrmuizel] P3
1509966 [meta] Slow frames on a variety of pages P4
1480964 With WR, Scrolling on maze solver page is janky. Non-WR is smooth (WR scrolling is not async enough) P5
1521265 Slow Frames detected on Slurpee Canada home page (canvas perf) P5
1619441 Add texture cache reallocation markers to profiles P5
1508188 [meta] perf bugs included in the CONTENT_FULL_PAINT_TIME metric P5
1450997 [meta] talos release criteria meta bug P5
1599611 enable putting hit test info on container display items (from bug 1503046) for webrender P5
1596634 When blur filter is applied on a large area, it delays the full rendering --
1600219 Investigate to remove WaitForGPU() --

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