Closed Bug 1540785 Opened 8 months ago Closed 7 months ago

Improve display item class hierarchy

Categories

(Core :: Web Painting, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- fixed

People

(Reporter: miko, Assigned: miko)

References

(Depends on 1 open bug, Blocks 2 open bugs)

Details

Attachments

(2 files)

Currently nsDisplayItem is unnecessarily heavy for some purposes such as hit testing and grouping (see bug 1529698).

Besides nsFrame pointer and display item flags, we could move most class fields to (for example) nsDisplayPaintedItem.

Assignee: nobody → mikokm
Status: NEW → ASSIGNED
No longer blocks: 1529698
Depends on: 1529698
Depends on: 1542927
Pushed by mikokm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/5f7f77eac50e
Part 1: Introduce nsDisplayItemBase r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/7c58a86df1c6
Part 2: Devirtualize nsDisplayItemBase::GetPerFrameKey() r=mattwoodrow
Status: ASSIGNED → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68

Noticed some perf improvements:

== Change summary for alert #20573 (as of Tue, 23 Apr 2019 06:44:22 GMT) ==

Improvements:

3% displaylist_mutate linux64-shippable opt e10s stylo 1,723.58 -> 1,670.64

For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=20573

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