Closed Bug 1526957 Opened 8 months ago Closed 8 months ago

Pass cached value of nsIFrame::IsTransformed() to nsDisplayListBuilder::AutoBuildingDisplayList and nsDisplayListBuilder::IsAnimatedGeometryRoot() when possible

Categories

(Core :: Web Painting, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
mozilla67
Tracking Status
firefox67 --- fixed

People

(Reporter: miko, Assigned: miko)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

Function nsIFrame::IsTransformed() gets called multiple times for almost every frame during display list building. Often we already have this value cached.

Assignee: nobody → mikokm
Status: NEW → ASSIGNED

These patches improve this only partially. I have filed bug 1528301 as a follow-up for more complete solution.

Pushed by mikokm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/0d7b39349d17
Part 1: Remove unused mIsAtRootOfPseudoStackingContext from nsDisplayListBuilder and AutoBuildingDisplayList r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/362f0046f81e
Part 2: Exit IsAnimatedGeometryRoot() early when frame is actively scrolled or transformed r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/09e06443d63a
Part 3: Optimize AutoBuildingDisplayList IsTransformed() check r=mattwoodrow
Status: ASSIGNED → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67

Hi, just commenting my crash, sorry if wrong place to that:
https://crash-stats.mozilla.org/report/index/8fb47dd7-89f7-4126-8691-880960190415

Just reporting for correlation.

Thanks.

You need to log in before you can comment on or make changes to this bug.