SVG's on https://www.jasondavies.com/factorisation-diagrams/ takes some time to update if scrolled fast (>100ms display list build times causing checkerboarding)
Categories
(Core :: Web Painting, defect, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr78 | --- | unaffected |
| firefox81 | --- | unaffected |
| firefox82 | --- | wontfix |
| firefox83 | --- | wontfix |
| firefox84 | --- | wontfix |
| firefox85 | --- | fix-optional |
People
(Reporter: mayankleoboy1, Unassigned)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: perf, regression)
Attachments
(1 file)
|
1.81 MB,
video/mp4
|
Details |
enable WR
go to https://www.jasondavies.com/factorisation-diagrams/
scroll fast using the touchpad
ER: SVG's are drawn fast
AR: the SVG's take some time to draw
Mozregression points to https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=cbedf38923ba0a5425ae5f36b82a797435b8a8e2&tochange=67d4d8f8ed99272e966600854a604a50e959d4fe
So i blame bug 1654836 .
Profile: https://share.firefox.dev/2FUMSLN
| Reporter | ||
Updated•5 years ago
|
Updated•5 years ago
|
| Reporter | ||
Comment 1•5 years ago
|
||
Updated•5 years ago
|
Updated•5 years ago
|
Comment 2•5 years ago
|
||
Set release status flags based on info from the regressing bug 1654836
Comment 4•5 years ago
|
||
I do see some checkerboarding on that site, and yes the patch in question probably did shrink the displayport (depending on your screen size) but I'm not sure I'd consider this a bad regression. It seems no worse than other transient checkerboarding issues. However, just for posterity, can you repro the problem (on Nightly), then go to about:checkerboard and select the checkerboard event and copy the contents of the "raw log" section at the bottom into an attachment on this bug?
Updated•5 years ago
|
| Reporter | ||
Comment 5•5 years ago
|
||
RENDERTRACE 462.651 rect red 0 1567.7 1352 676 // viewport
RENDERTRACE 462.719 rect yellow -84.5 529.733 1521 1521 // requested displayport velocity (0,-13.3162)
RENDERTRACE 479.276 rect red 0 1396.87 1352 676 // viewport
RENDERTRACE 479.33 rect yellow -84.5 314.433 1521 1521 // requested displayport velocity (0,-12.5075)
RENDERTRACE 495.92 rect red 0 1175.55 1352 676 // viewport
RENDERTRACE 495.985 rect yellow -84.5 115.85 1521 1521 // requested displayport velocity (0,-11.295)
RENDERTRACE 512.905 rect red 0 952.233 1352 676 // viewport
RENDERTRACE 512.971 rect yellow -84.5 -63.0833 1521 1521 // requested displayport velocity (0,-9.7191)
RENDERTRACE 529.36 rect red 0 736.933 1352 676 // viewport
RENDERTRACE 529.427 rect yellow -84.5 -208.3 1521 1521 // requested displayport velocity (0,-7.88015)
-- checkerboarding starts below --
RENDERTRACE 546.359 rect red 0 538.35 1352 676 // viewport
RENDERTRACE 546.431 rect yellow -84.5 -323.8 1521 1521 // requested displayport velocity (0,-5.63305)
RENDERTRACE 562.637 rect red 0 359.417 1352 676 // viewport
RENDERTRACE 562.745 rect yellow -84.5 -395.567 1521 1521 // requested displayport velocity (0,-3.09995)
RENDERTRACE 579.293 rect red 0 214.2 1352 676 // viewport
RENDERTRACE 579.394 rect yellow -84.5 -422.5 1521 1521 // requested displayport velocity (0,-0.04785)
RENDERTRACE 592.402 rect brown 0 0 1352 2409 // page
RENDERTRACE 592.428 rect lightgreen 0 512 1352 1792 // painted displayport (this layertree updated)
RENDERTRACE 592.536 rect red 0 98.7 1352 676 // viewport
RENDERTRACE 595.925 rect red 0 98.7 1352 676 // viewport
RENDERTRACE 596.022 rect yellow -84.5 -422.5 1521 1521 // requested displayport velocity (0,0)
RENDERTRACE 612.602 rect red 0 26.9333 1352 676 // viewport
RENDERTRACE 701.602 rect brown 0 0 1352 2409 // page
RENDERTRACE 701.625 rect lightgreen 0 0 1352 1792 // painted displayport (this layertree updated)
Checkerboarded for 5 frames (156.243 ms), 654368 peak, 6059 severity.
| Reporter | ||
Comment 6•5 years ago
|
||
And another, with same steps (in case the first one is wrong)
RENDERTRACE 383.923 rect red 0 1511.58 1352 676 // viewport
RENDERTRACE 385.807 rect yellow -84.5 467.1 1521 1521 // requested displayport velocity (0,-13.3507)
RENDERTRACE 400.119 rect red 0 1335.77 1352 676 // viewport
RENDERTRACE 400.19 rect yellow -84.5 256.417 1521 1521 // requested displayport velocity (0,-12.5695)
RENDERTRACE 416.768 rect red 0 1120.62 1352 676 // viewport
RENDERTRACE 416.838 rect yellow -84.5 57.5 1521 1521 // requested displayport velocity (0,-11.2478)
RENDERTRACE 433.398 rect red 0 889.6 1352 676 // viewport
RENDERTRACE 433.469 rect yellow -84.5 -115.55 1521 1521 // requested displayport velocity (0,-9.49732)
RENDERTRACE 450.24 rect red 0 678.917 1352 676 // viewport
RENDERTRACE 450.309 rect yellow -84.5 -257.75 1521 1521 // requested displayport velocity (0,-7.32237)
-- checkerboarding starts below --
RENDERTRACE 466.923 rect red 0 480 1352 676 // viewport
RENDERTRACE 466.985 rect yellow -84.5 -359.2 1521 1521 // requested displayport velocity (0,-4.76628)
RENDERTRACE 483.453 rect red 0 306.95 1352 676 // viewport
RENDERTRACE 483.559 rect yellow -84.5 -414.25 1521 1521 // requested displayport velocity (0,-1.80562)
RENDERTRACE 500.124 rect red 0 164.75 1352 676 // viewport
RENDERTRACE 500.206 rect yellow -84.5 -422.5 1521 1521 // requested displayport velocity (0,0)
RENDERTRACE 516.819 rect red 0 63.3 1352 676 // viewport
RENDERTRACE 533.416 rect red 0 8.25 1352 676 // viewport
RENDERTRACE 554.829 rect brown 0 0 1352 2409 // page
RENDERTRACE 554.872 rect lightgreen 0 256 1352 1792 // painted displayport (this layertree updated)
RENDERTRACE 555.367 rect red 0 0 1352 676 // viewport
RENDERTRACE 566.782 rect red 0 0 1352 676 // viewport
RENDERTRACE 666.777 rect brown 0 0 1352 2409 // page
RENDERTRACE 666.801 rect lightgreen 0 0 1352 1792 // painted displayport (this layertree updated)
Checkerboarded for 7 frames (200.695 ms), 820664 peak, 7599 severity.
| Reporter | ||
Updated•5 years ago
|
Comment 7•5 years ago
|
||
Thanks. Both of these looks kind of reasonable from an APZ point of view. Previously the displayport would have been slightly larger, probably big enough to cover the entire page. Now it's not, and so it needs to move up and down as you're scrolling. And we can see that doing the paint takes around ~112ms (the difference in timestamps in the two "painted displayport" lines in comment 6). That also matches the display list build times in your profile in comment 0. 112ms is pretty long, trying to speed that up would help.
The profile surprisingly doesn't show a lot of time in blob rasterization so maybe there's something we can do to speed up the display list building. Beyond that I don't know if there's much we can do here. Increasing the displayport size back will help on this specific page but likely not help in the general case.
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
| Reporter | ||
Updated•4 years ago
|
Description
•