Closed
Bug 1376044
Opened 7 years ago
Closed 7 years ago
APZ takes an appreciable amount of time with WebRender
Categories
(Core :: Graphics: WebRender, defect, P1)
Core
Graphics: WebRender
Tracking
()
RESOLVED
FIXED
mozilla59
Tracking | Status | |
---|---|---|
firefox56 | --- | unaffected |
firefox57 | --- | unaffected |
firefox59 | --- | fixed |
People
(Reporter: jrmuizel, Assigned: kats)
References
Details
(Whiteboard: [wr-mvp])
Attachments
(1 file)
Loading up a Facebook news feed I see 4% being spent in UpdateAPZ and 4.3% being spent in IPC::ParamTraits<mozilla::layers::WebRenderScrollData>::Read()
Some of this looks like region copying which could probably be easy to avoid.
Reporter | ||
Comment 1•7 years ago
|
||
I see a bunch of time being spent on the child side as well:
- IPC::ParamTraits<mozilla::layers::WebRenderScrollData>::Write()
- mozilla::layers::PopulateScrollData()
Assignee | ||
Comment 2•7 years ago
|
||
Can you share the link to the profile?
Reporter | ||
Comment 3•7 years ago
|
||
I profiled using Instruments so sharing's a bit of a pain. If you can't reproduce it I'll see what I can come up with. (If you need facebook credentials I have an synthetic account I can share with you)
Updated•7 years ago
|
Depends on: stage-wr-nightly
Updated•7 years ago
|
Blocks: stage-wr-nightly
No longer depends on: stage-wr-nightly
Updated•7 years ago
|
Priority: -- → P3
Updated•7 years ago
|
Priority: P3 → P2
Whiteboard: [wr-mvp]
Updated•7 years ago
|
status-firefox56:
--- → unaffected
status-firefox57:
--- → unaffected
Assignee | ||
Comment 4•7 years ago
|
||
I profiled both Facebook initial load as well as scrolling up and down on the news feed as more things loaded and I'm seeing negligible amount of time spent in UpdateAPZ and reading WebRenderScrollData instances. This is on a local macOS opt build with rustc 1.22.1 and opt-level 3. In fact the compositor thread is mostly just idle, even the parts where the content process isn't blocked in JS events has the compositor thread >90% idle.
Initial load: https://perfht.ml/2ikCPDO
Scrolling up and down as things load: https://perfht.ml/2ioiQEe
Are you still seeing this? I'll take a look at the code anyway to see if there's any cleanup that can be done there. I've been meaning to do that anyway since we dropped the layers-full codepaths since the WebRenderScrollData can probably be organized better now.
Reporter | ||
Comment 5•7 years ago
|
||
This is looking much better now.
Assignee | ||
Updated•7 years ago
|
Assignee: nobody → bugmail
Updated•7 years ago
|
Status: NEW → ASSIGNED
Priority: P2 → P1
Assignee | ||
Comment 6•7 years ago
|
||
I looked over the code. There's a bit of dead code leftover but otherwise there's not much I can do here until we switch to WR hit testing and drop the event regions stuff in WebRenderCommandBuilder.
Comment hidden (mozreview-request) |
Reporter | ||
Comment 8•7 years ago
|
||
mozreview-review |
Comment on attachment 8933395 [details]
Bug 1376044 - Remove dead code left over from layers-full WR implementation.
https://reviewboard.mozilla.org/r/204318/#review209882
Attachment #8933395 -
Flags: review?(jmuizelaar) → review+
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7ad26a049af8
Remove dead code left over from layers-full WR implementation. r=jrmuizel
Comment 10•7 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
status-firefox59:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla59
You need to log in
before you can comment on or make changes to this bug.
Description
•