Closed
Bug 1468401
Opened 7 years ago
Closed 7 years ago
motionmark_htmlsuite CSS_bouncing_filter_circles pgo regression
Categories
(Core :: Graphics: Layers, defect)
Core
Graphics: Layers
Tracking
()
RESOLVED
FIXED
mozilla62
| Tracking | Status | |
|---|---|---|
| firefox-esr52 | --- | unaffected |
| firefox-esr60 | --- | unaffected |
| firefox60 | --- | unaffected |
| firefox61 | --- | unaffected |
| firefox62 | --- | fixed |
People
(Reporter: alexical, Assigned: alexical, NeedInfo)
References
Details
(Keywords: regression)
Attachments
(1 file)
Seeing a somewhat substantial regression[1] in the CSS_bouncing_filter_circles test[2] as a result of bug 1467619. Running the test with layers.draw-borders on, I notice that before the change, we just had a bunch of little textures, one for each circle. With 1467619, we combine some of the layers because mFilters changes[3], and what we get are occasionally some large rectangles closing in multiple circles. The end result is that we are painting and compositing a greater area because of the space in between the circles that we now have to "draw". So overall we're just doing more work. Looking into how we can mitigate this, but any thoughts from more experienced people are welcome.
[1] https://treeherder.mozilla.org/perf.html#/graphs?timerange=7776000&series=mozilla-central,1661664,1,1
[2] https://browserbench.org/MotionMark/developer.html?test-interval=15&display=minimal&tiles=big&controller=fixed&frame-rate=30&kalman-process-error=1&kalman-measurement-error=4&time-measurement=performance&suite-name=HTMLsuite&test-name=CSSbouncingfiltercircles&complexity=189
[3] https://searchfox.org/mozilla-central/rev/d544b118e26422877108c42723b26e9bb4539721/layout/style/nsStyleStruct.cpp#4840
| Assignee | ||
Comment 1•7 years ago
|
||
(In reply to Doug Thayer [:dthayer] (PTO on June 4) from comment #0)
> The end result is that we are painting and compositing a greater area because of the
> space in between the circles that we now have to "draw".
Clarifying: we're compositing the same area, but the total size of all of the textures we have to composite is increased.
| Assignee | ||
Comment 2•7 years ago
|
||
Tentatively (I'm completely unfamiliar with this code), it looks like in ContainerState::ProcessDisplayItems, when finishing an inactive layer tree (here?[1]), we could get a measure of how sparse the rect is - maybe the rect's area compared to the area of all of the items inside it. If it's past a threshold, we would need to undo the work on it and process all of its children as though they were active layers (if undoing is not possible, we would need to look ahead in order to do this? Not sure yet how to accomplish this.)
Matt, does any of this sound at all reasonable?
[1] https://searchfox.org/mozilla-central/rev/d544b118e26422877108c42723b26e9bb4539721/layout/painting/FrameLayerBuilder.cpp#4809
Flags: needinfo?(matt.woodrow)
| Comment hidden (mozreview-request) |
Comment 4•7 years ago
|
||
| mozreview-review | ||
Comment on attachment 8985389 [details]
Bug 1468401 - Restrict ACTIVITY_TRIGGERED_REPAINT heuristic
https://reviewboard.mozilla.org/r/251022/#review257360
Hmm, bit sad, as this is somewhat unrelated to the actual problem that's causing the regression. Playing an unbounded game of whack-a-mole is pretty unappealing though, so just restricting the previous optimization is probably ok.
I do think getting the smaller layers pref enabled, and making sole-transforms active is valuable, but not a huge priority.
Attachment #8985389 -
Flags: review?(matt.woodrow) → review+
Pushed by dothayer@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b9f0b3d013f2
Restrict ACTIVITY_TRIGGERED_REPAINT heuristic r=mattwoodrow
Comment 6•7 years ago
|
||
| bugherder | ||
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox62:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Updated•7 years ago
|
Keywords: regression
| Assignee | ||
Comment 7•7 years ago
|
||
Looks like we kept the animometer win and dropped the htmlsuite regression, as intended:
https://treeherder.mozilla.org/perf.html#/graphs?series=mozilla-central,1661649,1,1&series=mozilla-central,1661659,1,1
Updated•7 years ago
|
status-firefox60:
--- → unaffected
status-firefox61:
--- → unaffected
status-firefox-esr52:
--- → unaffected
status-firefox-esr60:
--- → unaffected
You need to log in
before you can comment on or make changes to this bug.
Description
•