High displaylist building times on MotionMark "Multiply"
Categories
(Core :: Web Painting, defect, P3)
Tracking
()
People
(Reporter: jrmuizel, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
Attachments
(1 file)
(deleted),
text/plain
|
Details |
I get relatively high displaylist building times.
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Updated•5 years ago
|
Comment 1•5 years ago
|
||
Display list dump with complexity = 1. It seems that the site always creates tons of opacity and hit test items even if they are not visible.
Comment 2•5 years ago
|
||
Bug 1527026 would get rid of the hit test items, which make up roughly 50% of the display list.
Updated•5 years ago
|
Reporter | ||
Comment 3•3 years ago
|
||
Here's a recent profile:
https://share.firefox.dev/3gXq4Kn
One thing I noticed is that in nsIFrame::BuildDisplayListForStackingContext we're spending quite a bit of time dealing with the transform.
15% is in mozilla::nsDisplayTransform::GetResultingTransformMatrixInternal which is called from multiple places.
We call UntransformRect on the building rect and the visibile rect. Each call to UntransformRect calls GetResultingTransformMatrixInternal and then inverts the matrix. So we're duplicating that work.
Comment 4•3 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #3)
Here's a recent profile:
https://share.firefox.dev/3gXq4KnOne thing I noticed is that in nsIFrame::BuildDisplayListForStackingContext we're spending quite a bit of time dealing with the transform.
15% is in mozilla::nsDisplayTransform::GetResultingTransformMatrixInternal which is called from multiple places.We call UntransformRect on the building rect and the visibile rect. Each call to UntransformRect calls GetResultingTransformMatrixInternal and then inverts the matrix. So we're duplicating that work.
Do you have retained display lists disabled? I see a very different profile locally, where most of the time is doing partial updates.
Reporter | ||
Comment 5•3 years ago
|
||
Nope, I have some partial update time in my profile. Can you post yours?
Comment 6•3 years ago
|
||
This is what I see locally: https://share.firefox.dev/3kZSqVB
Comment 7•3 years ago
|
||
Your profile appears to be bimodal, switching between full rebuilds and then retaining.
I have an experimental patch that might help some of the matrix work, but can't reproduce any differences locally (since it's always retaining for me, and has different slowness).
Updated•2 years ago
|
Description
•