Faster visible-rows-only and pixel-aligned waterfall column
Categories
(DevTools :: Netmonitor, enhancement, P3)
Tracking
(firefox75 fixed)
Tracking | Status | |
---|---|---|
firefox75 | --- | fixed |
People
(Reporter: Harald, Assigned: Harald)
References
(Blocks 1 open bug, Regressed 1 open bug)
Details
Attachments
(3 files)
Waterfall was the most expensive component, across the board (fetching additional eventTiming
data, created React elements and CSS cost)
Part 1: Only show Waterfall only for visible rows
- IntersectionObserver collects which rows are off screen as state
- New elements register with the list observer and unregister later
- Waterfall column is only rendered for visible rows and just an empty TD for the rest
Part 2: Scale Waterfall without transform
- Waterfall isn't handled by CSS variables anymore (fixed expensive styling phase).
- Using the newly gained CPU cycles
RequestListColumnWaterfall
now listens to thegetWaterfallScale
state and uses it to position the boxes to exact pixels. - Pixels ensure minimum width for boxes (fixes useless rendering of 0-width boxes; which end up showing a waterfall of mostly total time labels).
Miscellaneous fixes
- Taller boxes (closer to Chrome)
- Fixes layout jitter that rendering waterfall causes (the text added 0.5px height difference is my guess)
- Vertically aligned waterfall bars and labels (were slightly off center previously)
Profile comparison (16 to 11ms overall, much more responsive UI with more frequent updates): https://perfht.ml/2rIJJHE
Assignee | ||
Comment 1•4 years ago
|
||
Updated•4 years ago
|
Comment 2•3 years ago
|
||
Attaching a patch that fixes most of the test failures:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=029d5dc022f684c330819feca9fac4d8289827d7&selectedJob=287940247
I am seeing just one test failure now:
devtools/client/webconsole/test/browser/browser_webconsole_network_messages_openinnet.js
I can't repro locally, needs some more investigation.
Honza
Pushed by hkirschner@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/96965c8f4575 Faster visible-rows-only and pixel-aligned waterfall column r=Honza,jdescottes
Comment 4•3 years ago
|
||
Backed out changeset 96965c8f4575 (bug 1606514) for Talos failures in netmonitor/simple.js. CLOSED TREE
Log:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=288992034&repo=autoland&lineNumber=932
Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=autoland&group_state=expanded&revision=96965c8f4575078ce9a7412d0b904c1f3be63284
Backout:
https://hg.mozilla.org/integration/autoland/rev/b554f15005fbad3075e51922547321c0888c453f
Pushed by hkirschner@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/10d15000963d Faster visible-rows-only and pixel-aligned waterfall column r=Honza,jdescottes
Comment 6•3 years ago
|
||
bugherder |
Assignee | ||
Comment 7•3 years ago
|
||
https://treeherder.mozilla.org/perf.html#/alerts?id=24959&hideDwnToInv=0
== Change summary for alert #24959 (as of Mon, 17 Feb 2020 03:48:26 GMT) ==
Regressions:
8% damp complicated.netmonitor.exportHar linux64-shippable-qr opt e10s stylo 847.45 -> 917.46
8% damp complicated.netmonitor.exportHar linux64-shippable opt e10s stylo 809.49 -> 870.42
Improvements:
38% damp simple.netmonitor.requestsFinished.DAMP windows10-64-shippable opt e10s stylo 140.09 -> 87.35
37% damp simple.netmonitor.requestsFinished.DAMP windows10-64-shippable-qr opt e10s stylo 139.00 -> 87.83
36% damp simple.netmonitor.requestsFinished.DAMP linux64-shippable-qr opt e10s stylo 146.37 -> 93.58
36% damp simple.netmonitor.requestsFinished.DAMP linux64-shippable opt e10s stylo 146.55 -> 93.91
19% damp complicated.netmonitor.close.DAMP windows10-64-shippable opt e10s stylo 44.47 -> 36.08
7% damp complicated.netmonitor.requestsFinished.DAMP linux64-shippable-qr opt e10s stylo 2,077.02 -> 1,932.99
For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=24959
Description
•