Closed Bug 1526970 Opened 6 years ago Closed 3 years ago

nsIFrame::(Add|Remove)DisplayItem() is slow

Categories

(Core :: Web Painting, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
88 Branch
Tracking Status
firefox88 --- fixed

People

(Reporter: mikokm, Assigned: mikokm)

References

(Blocks 1 open bug)

Details

(Keywords: perf-alert)

Attachments

(3 files, 1 obsolete file)

This shows up on profiles a lot. We could merge the frame property |nsIFrame::DisplayItems| with a member variable |nsIFrame::mDisplayItemData| that holds DisplayItemData, or swap them to speed up WebRender that does not use DisplayItemData.

Priority: P1 → P2
Depends on: 1533815
Assignee: nobody → mikokm
Status: NEW → ASSIGNED
Attachment #9201155 - Attachment description: Bug 1526970 - Store the list of display items the frame has as a member variable instead of frame property r=mattwoodrow → Bug 1526970 - Part 1: Store the list of display items the frame has as a member variable instead of frame property r=mattwoodrow
Pushed by mikokm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/fed61f8125da
Part 1: Store the list of display items the frame has as a member variable instead of frame property r=mattwoodrow,emilio
https://hg.mozilla.org/integration/autoland/rev/d5fc307deac1
Part 2: Convert nsIFrame::mDisplayItemData to frame property r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/822a22e21e7a
Part 3: Remove nsPaintedDisplayItem::mDisplayItemData r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/d5b874ccd877
Part 4: Check the frame for display items rather than DisplayItemData or WebRenderFallbackData in InvalidateFrame() r=mattwoodrow

== Change summary for alert #28981 (as of Tue, 02 Mar 2021 04:42:14 GMT) ==

Improvements:

Ratio Suite Test Platform Options Absolute values (old vs new)
12% tp5o_scroll windows10-64-shippable-qr e10s stylo webrender-sw 2.16 -> 1.91
6% tp5o_scroll linux1804-64-shippable e10s stylo 1.71 -> 1.61
6% tp5o_scroll linux64-shippable e10s stylo 1.41 -> 1.33
4% tp5o_scroll linux1804-64-shippable-qr e10s stylo webrender 2.70 -> 2.58
4% tp5o_scroll linux1804-64-shippable-qr e10s stylo webrender 2.67 -> 2.56
3% tp5o_scroll linux1804-64-shippable-qr e10s stylo webrender 2.67 -> 2.58

For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=28981

See Also: → 1692865
See Also: 1692865
Regressions: 1694876

Backed out as requested by miko for causing a perma-fail, backout link: https://hg.mozilla.org/integration/autoland/rev/2ed2319aa1d7eddd4448d88dc2bea5f3f013b2bc

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: 88 Branch → ---

The backed out part was additional optimization that was based on a wrong assumption. We can keep this closed.

Status: REOPENED → RESOLVED
Closed: 3 years ago3 years ago
Resolution: --- → FIXED
Attachment #9204909 - Attachment is obsolete: true
Target Milestone: --- → 88 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: