Closed
Bug 1423370
Opened 7 years ago
Closed 7 years ago
WebRender is hurt sending scroll data on MotionMark bouncing circles
Categories
(Core :: Graphics: WebRender, defect, P2)
Core
Graphics: WebRender
Tracking
()
RESOLVED
FIXED
mozilla61
| Tracking | Status | |
|---|---|---|
| firefox61 | --- | fixed |
People
(Reporter: jrmuizel, Assigned: kats)
References
Details
(Whiteboard: [wr-mvp] [triage])
Attachments
(1 file)
24% of display list building time is in IPC::ParamTraits<mozilla::layers::WebRenderScrollData>::Write.
The likely root cause of this is that each bouncing circle has a scroll frame.
Updated•7 years ago
|
Whiteboard: [wr-mvp] [triage]
| Assignee | ||
Comment 1•7 years ago
|
||
It doesn't look like each bouncing circle has a scrollframe. I think what's happening is that there's an nsDisplayTransform item for each circle, and so we create a new WebRenderLayerScrollData for each one and it just adds up. The reason we need a new scrolldata for each transform is for the compositor hit-testing to work properly. But we can probably do a better job of squashing these things together, and I think with the new WR-based hit-testing we might not need to send this over the compositor at all.
| Comment hidden (mozreview-request) |
| Assignee | ||
Comment 3•7 years ago
|
||
I made a patch that eliminates the spurious WebRenderLayerScrollData instances for when gfx.webrender.hit-test is enabled. I don't want to land it yet though, I feel like I need to spend some more time figuring out if there's any other architectural improvements we can make, and if there's some way to make it more robust against accidentally regressing things.
Updated•7 years ago
|
Blocks: stage-wr-trains
Priority: -- → P2
| Assignee | ||
Comment 5•7 years ago
|
||
Yeah, sorry - I looked at this again and was not convinced it was correct. I thought we were only using the transform on the APZ side with non-WR hit-testing, but then I looked again and we were using it in other places for scrollbar-related things, so I think it might affect correctness. We should still be able to optimize this use case, but we need to make sure we don't throw away all the transforms (in particular transforms that are on scrollframes). Leaving the needinfo on me for now.
| Assignee | ||
Comment 6•7 years ago
|
||
Here's a try push with a version of the patch I'm more confident should be good: https://treeherder.mozilla.org/#/jobs?repo=try&revision=84566196378a0783b09a989e246f4a02f16b979f
| Assignee | ||
Updated•7 years ago
|
Assignee: nobody → bugmail
Flags: needinfo?(bugmail)
| Assignee | ||
Comment 7•7 years ago
|
||
Looks like there's an R6 failure, I'll have to look into it.
| Assignee | ||
Comment 8•7 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=25718f5c9547dc6d0454af77a981e5e9676139cc fixes it for me locally, hopefully it doesn't break anything else...
| Comment hidden (mozreview-request) |
| Reporter | ||
Comment 10•7 years ago
|
||
| mozreview-review | ||
Comment on attachment 8935460 [details]
Bug 1423370 - Create fewer WebRenderLayerScrollData items for transformed items.
https://reviewboard.mozilla.org/r/206358/#review237204
Attachment #8935460 -
Flags: review?(jmuizelaar) → review+
Comment 11•7 years ago
|
||
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/cf1fdb432d46
Create fewer WebRenderLayerScrollData items for transformed items. r=jrmuizel
Comment 12•7 years ago
|
||
| bugherder | ||
Status: NEW → RESOLVED
Closed: 7 years ago
status-firefox61:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
You need to log in
before you can comment on or make changes to this bug.
Description
•