Closed
Bug 1348837
Opened 7 years ago
Closed 1 year ago
Poor d3.js perf vs. Chrome on Multi-Foci Force Layout demo due to display list building and layer geometry change calculations
Categories
(Core :: SVG, defect, P3)
Core
SVG
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: jfager, Unassigned)
References
(Depends on 1 open bug)
Details
(Keywords: perf)
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:53.0) Gecko/20100101 Firefox/53.0 Build ID: 20170316212821 Steps to reproduce: Open https://bl.ocks.org/mbostock/1021953 in FF and in Chrome. Versions: FF: 53.0b4 (64-bit) Chrome: 57.0.2987.110 (64-bit) My environment: OSX 10.11.6 (15G1217) MacBook Pro (Retina, 15-inch, Late 2013) 2.3GHz Intel Core i7 16GB 1600 MHz DDR3 Intel Iris Pro 1536 MB Actual results: Initial performance appears fine but FF consumes ~2x CPU and slows to a grind much sooner than Chrome does. Expected results: FF shouldn't use more processor than Chrome and should retain performance parity over a long period.
Updated•7 years ago
|
Comment 1•7 years ago
|
||
Jonathan, do you have time to profile this? If not, please let me know and I can do it.
Flags: needinfo?(jwatt)
Comment 2•7 years ago
|
||
I left the testcase to run for a few minutes until it started to jank, then profiled for about 10 seconds: https://perfht.ml/2nKtpiK So roughly: 35% SVGGeometryFrame::PaintSVG (DrawTargetTiled::Stroke/Fill) 31% nsSVGOuterSVGFrame::BuildDisplayList (_moz_pixman_region32_union_rect) 14% nsRefreshDriver::RunFrameRequestCallbacks (JS code) 9% FrameLayerBuilder::ComputeGeometryChangeForItem (_moz_pixmanregion32_init_rects) So unfortunately we're being bitten by bug 869505 again, which has no simple fix. It's good to have another bug on record reinforcing that it's an important issue though.
Status: UNCONFIRMED → NEW
Depends on: 869505
Ever confirmed: true
Flags: needinfo?(jwatt)
Summary: Poor d3.js perf compared to Chrome on Multi-Foci Force Layout demo → Poor d3.js perf vs. Chrome on Multi-Foci Force Layout demo due to display list building and layer geometry change calculations
Comment 3•7 years ago
|
||
Why does running for a bit cause the jank? Does the testcase keep adding more elements or something?
Comment 4•7 years ago
|
||
That's exactly what it does. It keeps adding "balls" to three piles of colored balls. There don't have to be all that many before we start to peg the CPU though.
Updated•7 years ago
|
Priority: -- → P3
Updated•2 years ago
|
Severity: normal → S3
Comment 5•1 year ago
|
||
I don't see much difference between Chrome and Firefox anymore on an M1 mac. Original URL is down, you can test here: https://blocks.roadtolarissa.com/mbostock/1021953
Updated•1 year ago
|
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•