Closed
Bug 1473352
Opened 6 years ago
Closed 6 years ago
Send DidComposite messages for pipelines that weren't actually rendered
Categories
(Core :: Graphics: WebRender, enhancement, P2)
Tracking
()
RESOLVED
FIXED
People
(Reporter: kats, Assigned: kats)
References
Details
(Whiteboard: [gfx-noted])
Spinoff from https://bugzilla.mozilla.org/show_bug.cgi?id=1471962#c8, copying that comment here:
=====
So it looks like with layers, we send a DidComposite for content-process layers even if those layers are not attached to the parent process layers. i.e. say we create a new tab, and we create the associated RenderFrameParent in the UI process. That RenderFrameParent doesn't actually get painted right away; some code (I presume the front-end) keeps it deactivated somehow until it knows that the content process layers have been painted via a MozAfterPaint, and then it activates the RenderFrameParent.
With WR, that MozAfterPaint doesn't happen because, well, the display list wasn't rendered and so the PipelineInfo doesn't contain the epoch for the content process pipeline. After 100ms that timer [1] expires, fires the MozAfterPaint, and then that allows the front-end to activate the RenderFrameParent. If I increase the timer from 100ms to 1000ms the exact same thing happens - it takes 1000ms before the MozAfterPaint fires and unblocks the painting.
So I think for consistency with layers we need to make it so that even if a content process display list isn't attached to the parent process we need to send a MozAfterPaint for it.
=====
[1] https://searchfox.org/mozilla-central/rev/97d488a17a848ce3bebbfc83dc916cf20b88451c/layout/base/nsPresContext.cpp#3303
Assignee | ||
Updated•6 years ago
|
Depends on: 1473284
See Also: → https://github.com/servo/webrender/pull/2865
Assignee | ||
Comment 1•6 years ago
|
||
This is fixed now.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•