Closed Bug 1463752 Opened 6 years ago Closed 6 years ago

Optimize merging and flattening during ContainerState::ProcessDisplayItems()

Categories

(Core :: Web Painting, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox62 --- fixed

People

(Reporter: mikokm, Assigned: mikokm)

Details

Attachments

(2 files)

I spotted a couple of small optimizations for ContainerState::ProcessDisplayItems():
1) Avoid unnecessary casts and checks during FLBDisplayItemIterator::StartNested()
2) Avoid allocating AutoTArray for merged display items, when merging cannot be done.

Locally on MBP these give roughly 2.5% performance improvement in talos displaylist_mutate test.
Comment on attachment 8979957 [details]
Bug 1463752 - Part 1: Avoid unnecessary cast in FLBDisplayItemIterator::StartNested()

https://reviewboard.mozilla.org/r/246134/#review252376
Attachment #8979957 - Flags: review?(matt.woodrow) → review+
Comment on attachment 8979958 [details]
Bug 1463752 - Part 2: Avoid allocating AutoTArray when there are no items that can be merged together

https://reviewboard.mozilla.org/r/246136/#review252378
Attachment #8979958 - Flags: review?(matt.woodrow) → review+
Pushed by mikokm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/ffb639607291
Part 1: Avoid unnecessary cast in FLBDisplayItemIterator::StartNested() r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/cd3e33ad7970
Part 2: Avoid allocating AutoTArray when there are no items that can be merged together r=mattwoodrow
https://hg.mozilla.org/mozilla-central/rev/ffb639607291
https://hg.mozilla.org/mozilla-central/rev/cd3e33ad7970
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: