Use synced rendering to layers
Categories
(Core :: Widget: Gtk, enhancement, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox138 | --- | fixed |
People
(Reporter: stransky, Assigned: stransky)
References
(Blocks 1 open bug)
Details
Attachments
(5 files)
Use synced rendering to layers. Right now we use desynced surfaces which eats extra resources and may cause visual artifacts.
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 1•1 year ago
|
||
The problem here is that we commit to parent surface (which is requested to promote child changes) in NativeLayerRootWayland::CommitToScreen() only.
So if we ask any layer for frame callback and then do commit in to layer/surface, we don't commit to NativeLayerRootWayland to promote the change and we're missing the frame callback then, as parrent is still pending the commit.
We may manage the frame callbacks globally somehow by NativeLayerRootWayland for all child layers.
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 2•1 year ago
|
||
Updated•1 year ago
|
| Assignee | ||
Comment 3•1 year ago
|
||
- Rename IsEmulatedFrameCallbackPendingLocked() to HasEmulatedFrameCallbackLocked
- Move HasEmulatedFrameCallbackLocked to RequestFrameCallbackLocked as it's used only there
- Remove mBufferAttached check from HasEmulatedFrameCallbackLocked() - it's already at RequestFrameCallbackLocked()
| Assignee | ||
Comment 4•1 year ago
|
||
| Assignee | ||
Comment 5•1 year ago
|
||
-
Call frame callback handlers after RequestFrameCallbackLocked(). I allows to perform commit to parent surface from frame callback
handler of child surface. That's needed for subsurface synced rendering when any wl_subsurface::commit is performed only when parent wl_surface
is commited too. -
Move mPersistentFrameCallbackHandlers / mOneTimeFrameCallbackHandlers check to RequestFrameCallbackLocked().
| Assignee | ||
Comment 6•1 year ago
|
||
It ensures all layers are updated once when parent WaylandSurface is committed so we should see less visual artifacts
during resize / scrolling and so on.
Updated•1 year ago
|
Comment 8•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/11f639848261
https://hg.mozilla.org/mozilla-central/rev/52d9deed7c7c
https://hg.mozilla.org/mozilla-central/rev/f52d62a1ed50
https://hg.mozilla.org/mozilla-central/rev/4a17c43ba0b6
https://hg.mozilla.org/mozilla-central/rev/46fc6ddc0690
Description
•