Open Bug 1288183 Opened 5 years ago Updated 4 years ago

D3.js demo is more janky in Firefox than in competing browsers

Categories

(Core :: Graphics, defect, P3)

50 Branch
defect

Tracking

()

Tracking Status
firefox50 --- affected

People

(Reporter: mconley, Unassigned)

References

(Blocks 1 open bug, )

Details

(Whiteboard: [gfx-noted])

Here's the demo: http://bl.ocks.org/mbostock/1386444

There's a bit of jank running this. Definitely not as smooth as other browsers.

Here's a profile I gathered: https://cleopatra.io/#report=2104e9fca8334e3334dc310239b22ab43f39c56d&selection=0,1299,1300,1301,1302,931,1303,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,445,446,447,448,449,530,531,532,1304,533,534,88,89,90,91,92,93

We seem to be spending the vast majority of our time inside nsPresShell::Paint, so putting this under Core :: Graphics as a first guess.
The interval between every composition is not always consistent in the following range, I guess that's why we saw jank in FF. In content process, it was quite busy for style-change/process displayitems/rasterization because there were many rotated cubes animation.

https://cleopatra.io/#report=2104e9fca8334e3334dc310239b22ab43f39c56d&filter=%5B%7B%22type%22%3A%22RangeSampleFilter%22,%22start%22%3A266851,%22end%22%3A268004%7D,%7B%22type%22%3A%22RangeSampleFilter%22,%22start%22%3A267037,%22end%22%3A267231%7D%5D
Whiteboard: [gfx-noted]
Style seems ok, but we're spending too much time in display list building/layer tree/rasterizing. There's no obvious bottleneck here.

I see layers being activated and de-activated on this page. We're not breaking down the page well.
This is part of the problem:
https://dxr.mozilla.org/mozilla-central/rev/4c05938a64a7fde3ac2d7f4493aee1c5f2ad8a0a/layout/base/nsDisplayList.cpp#6064

We're forcing the layer on and off because of the 3d transform. I've forced the layers to be inactive and the page renders fine.
Blocks: 882383
You need to log in before you can comment on or make changes to this bug.