Open Bug 1543646 Opened 5 years ago Updated 2 years ago

Investigate optimizing storage of display item building state

Categories

(Core :: Web Painting, enhancement, P2)

enhancement

Tracking

()

People

(Reporter: mikokm, Unassigned)

References

(Blocks 1 open bug)

Details

Currently the state used for display item building set by nsDisplayListBuilder::AutoBuildingDisplayList, nsDisplayListBuilder::AutoCurrentActiveScrolledRootSetter (and others) is stored in nsDisplayListBuilder in a very cache unfriendly way. I think we should have these fields more closely packed for better caching behavior.

Another less trivial but potentially better solution would be to take this data out from nsDisplayListBuilder and pass the state as a parameter to nsIFrame::BuildDisplayList(). This would allow us to save the cost of storing and restoring the previous state of the nsDisplayListBuilder. This could also be done by having nsDisplayListBuilder keep a reference to state held by something similar to AutoBuildingDisplayList.

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.