Open Bug 1013297 Opened 11 years ago Updated 2 years ago

Quadtree Art 5x faster in Chrome, bottlenecked on BuildDisplayList/ProcessDisplayItems

Categories

(Core :: Layout, defect)

x86
macOS
defect

Tracking

()

People

(Reporter: BenWa, Unassigned)

References

(Depends on 1 open bug)

Details

Looks like this is creating a massive number of nsDisplaySVGPathGeometry objects, each individually wrapped in an inactive nsDisplayTransform. The overhead of processing all these inactive layer trees is hurting us a lot. The transforms all have both a scale and a translation. This would be a really good candidate for folding SVG display items together, adding jwatt to the cc list.
Depends on: 934411
Depends on: 837335
with retain-dl, we are now roughly 3x slower than chrome. Anything more that can be done here?
Flags: needinfo?(matt.woodrow)
Not particularly from the display list side, display list building is ~2ms now. We're still pretty slow on layer building, and doing canvas readback (looks like the canvas is WebGL). There's also a lot of overhead painting the svg display items.
Flags: needinfo?(matt.woodrow)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.