Reduce forced redraws in SW-WR/RenderCompositorSWGL on Wayland
Categories
(Core :: Graphics: WebRender, enhancement, P3)
Tracking
()
People
(Reporter: rmader, Assigned: rmader)
References
(Blocks 2 open bugs)
Details
Attachments
(2 files, 1 obsolete file)
IIUC similar to bug 1696101. Right now, at least on Linux, RenderCompositorOGLSWGL
already reports significant less damage the system compositor compared to RenderCompositorSWGL
. We should be able perform similarly.
Assignee | ||
Comment 1•3 years ago
|
||
Assignee | ||
Comment 2•3 years ago
|
||
Updated•3 years ago
|
Assignee | ||
Comment 3•3 years ago
|
||
So a bit of digging revealed that the culprit lies in this line: https://searchfox.org/mozilla-central/source/gfx/wr/webrender/src/render_backend.rs#1455-1458
should_redraw_on_invalidation
is true
for RenderCompositorSWGL
but not for RenderCompositorOGLSWGL
. Now I'll need to find out:
- why
should_redraw_on_invalidation
is different - why
invalidate_rendered_frame()
[1] gets called in the first place (on both backends) and if that's a bug
1: https://searchfox.org/mozilla-central/source/gfx/wr/webrender/src/render_api.rs#376-378
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 4•3 years ago
|
||
Turns out this a "regression" from bug 1690216 / https://phabricator.services.mozilla.com/D106246 - apparently the should_redraw_on_invalidation
is necessary in some situations when the whole window gets unmapped on X11.
Unfortunately on sites like testufo.com we get a lot of invalidations from https://searchfox.org/mozilla-central/source/gfx/layers/wr/WebRenderBridgeParent.cpp#1469-1476.
Now I wonder if we should try to reduce the invalidations or rather limit should_redraw_on_invalidation
to platforms that really need it (IIUC Wayland should not, while X11 might do).
Lee, as you wrote that patch, do you have any idea here?
Assignee | ||
Comment 5•3 years ago
|
||
This was introduced in D106246, but it is not obvious that any
backend but X11 actually needs it. Notably the Wayland backend
most likely does not.
Removing it makes RenderCompositorSWGL
behave (more) equally to
RenderCompositorOGLSWGL
, massively reducing overpaint on certain
websites like testufo.com.
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Pushed by robert.mader@posteo.de: https://hg.mozilla.org/integration/autoland/rev/d39eb2d0e9d8 Disbale redraw_on_invalidation in RenderCompositorSWGL on Wayland, r=lsalzman,gfx-reviewers
Assignee | ||
Updated•3 years ago
|
Comment 7•3 years ago
|
||
bugherder |
Assignee | ||
Comment 8•3 years ago
|
||
Dear sheriffs, please back out this patch from beta (91). For nightly/92 we have a fix, but it will need testing.
Comment 9•3 years ago
|
||
Julien, Pascal, can you take the backout request for beta with the next batch of uplifts, please?
Comment 10•3 years ago
|
||
Backed out changeset d39eb2d0e9d8 (bug 1713686) on beta for causing a regression (bug 1717351) a=backout
https://hg.mozilla.org/releases/mozilla-beta/rev/881ec252e382
Updated•3 years ago
|
Updated•3 years ago
|
Description
•