Closed
Bug 1435649
Opened 6 years ago
Closed 6 years ago
Don't touch the display item when taking the early return in ComputeGeometryChangeForItemW
Categories
(Core :: Web Painting, enhancement, P3)
Core
Web Painting
Tracking
()
RESOLVED
FIXED
mozilla60
Tracking | Status | |
---|---|---|
firefox60 | --- | fixed |
People
(Reporter: mattwoodrow, Assigned: mattwoodrow)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
3.31 KB,
patch
|
jnicol
:
review+
|
Details | Diff | Splinter Review |
We try to take an early return in ComputeGeometryChangeForItem when the item wasn't rebuilt by retained-dl, but unfortunately this still dereferences the item and takes almost as long as the full invalidation code. We can store the value on the DisplayItemData earlier (when the item is already in cache), and avoid needing to touch it here.
Attachment #8948297 -
Flags: review?(jnicol)
Comment 1•6 years ago
|
||
Comment on attachment 8948297 [details] [diff] [review] reused-on-did Review of attachment 8948297 [details] [diff] [review]: ----------------------------------------------------------------- Looks good, just a question and a nit. ::: layout/painting/FrameLayerBuilder.cpp @@ +185,5 @@ > void > DisplayItemData::EndUpdate() > { > MOZ_RELEASE_ASSERT(mLayer); > + mItem = nullptr; Why does the assertion no longer hold? ::: layout/painting/FrameLayerBuilder.h @@ +184,5 @@ > * paint) has been updated in the current paint. > */ > bool mUsed; > bool mIsInvalid; > + bool mReusedItem; Can we call this mIsReusedItem, or something indicating it's a bool?
Attachment #8948297 -
Flags: review?(jnicol) → review+
Pushed by mwoodrow@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/4aa9b74724b8 Don't deference the display item when attempting the early return in ComputeGeometryChangeForItem to avoid a cache miss. r=jnicol
Comment 3•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/4aa9b74724b8
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
Comment 4•6 years ago
|
||
These performance improvements landed thanks to this bug and bug 1435650! == Change summary for alert #11512 (as of Mon, 12 Feb 2018 04:03:33 GMT) == Improvements: 12% displaylist_mutate osx-10-10 opt e10s stylo 7,425.25 -> 6,561.79 8% displaylist_mutate linux64 opt e10s stylo 2,998.83 -> 2,763.43 8% displaylist_mutate linux64 pgo e10s stylo 2,565.03 -> 2,367.67 8% displaylist_mutate windows7-32 pgo e10s stylo 5,145.52 -> 4,750.92 7% displaylist_mutate windows10-64 pgo e10s stylo 4,819.58 -> 4,464.75 For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=11512
You need to log in
before you can comment on or make changes to this bug.
Description
•