Remove advanced layers
Categories
(Core :: Graphics: Layers, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox87 | --- | fixed |
People
(Reporter: rhunt, Assigned: mattwoodrow)
References
Details
Attachments
(1 file)
We're shipping webrender in 66 for some users on windows, which will mean we have three different accelerated backends. D3D11 compositor, advanced layers, and webrender.
We should try to remove advanced layers, as it's a lot of code and only in use on windows.
Reporter | ||
Comment 1•6 years ago
|
||
Reporter | ||
Comment 2•6 years ago
|
||
Updated try run with the patches split up and rebased.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=5c70ada00e2eeae0959564ad53b193d11fd7fcf5
Reporter | ||
Comment 3•6 years ago
|
||
Bas, how hard is it to port the compositor recording system from bug 1536174 to work with CompositorD3D11? And is it actively being used by you or in automated tests?
I've got a talos run queued up so we'll see if there's any obvious regressions from removing advanced layers. I'm also considering just pref'ing off advanced layers in nightly to find any fallout before actually removing code.
Comment 4•6 years ago
|
||
(In reply to Ryan Hunt [:rhunt] from comment #3)
Bas, how hard is it to port the compositor recording system from bug 1536174 to work with CompositorD3D11? And is it actively being used by you or in automated tests?
I've got a talos run queued up so we'll see if there's any obvious regressions from removing advanced layers. I'm also considering just pref'ing off advanced layers in nightly to find any fallout before actually removing code.
It is actively used, and will be more actively used in the near future. I think we should consider removing CompositorD3D11 and moving those users to Basic as well, although I'm not certain what the better decision is.
Comment 6•6 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #5)
Why do you think it's better to keep advanced layers?
I believe it to be somewhat better for performance in general. It should be less susceptible to overdraw. Having said that it's purely an intuition based on the way David implemented it rather than having a particularly large body of evidence.
It would have the advantage of not 'changing' the compositor used by most users at this point in time, which is something that appeals to me. Especially until we get to the point where we have good performance metrics on browser performance in general.
Comment 7•6 years ago
|
||
In latest Mozilla Firefox Nightly in about:config I'm seeing that it changed from
Graphics
Features
Compositing Direct3D 11 (Advanced Layers)
to
Graphics
Features
Compositing Direct3D 11
What's more, my hardware isn't qualified to use WebRenderer per
Decision Log
WEBRENDER
opt-in by default: WebRender is an opt-in feature
WEBRENDER_QUALIFIED
blocked by env: No qualified hardware
and now because of change in bug #1544538 performance of Mozilla Firefox decreases.
As Advanced Layers has many benefits:
- it submits smaller GPU workloads and buffer uploads than the existing compositor.
- it needs only a single pass over the layer tree.
- it uses occlusion information more intelligently.
- it is easier to add new specialized rendering paths and new layer types.
- it separates compositing logic from device logic, unlike the existing compositor.
- it is much faster at rendering 3d scenes or complex layer trees.
- it has experimental code to use the z-buffer for occlusion culling.
It's significant improvement over the existing compositor.
Any logical reason why Advanced Layers was disabled and want to delete it?
(In reply to Ryan Hunt [:rhunt] from comment #0)
[...] We should try to remove advanced layers,
as it's a lot of code and only in use on windows.
Nearly 90% of Mozilla Firefox users are using Microsoft Windows operating system.
Reporter | ||
Comment 8•6 years ago
|
||
(In reply to Virtual_ManPL [:Virtual] - (please needinfo? me - so I will see your comment/reply/question/etc.) from comment #7)
In latest Mozilla Firefox Nightly in about:config I'm seeing that it changed
fromGraphics
Features
Compositing Direct3D 11 (Advanced Layers)to
Graphics
Features
Compositing Direct3D 11What's more, my hardware isn't qualified to use WebRenderer per
Decision Log
WEBRENDER
opt-in by default: WebRender is an opt-in feature
WEBRENDER_QUALIFIED
blocked by env: No qualified hardwareand now because of change in bug #1544538 performance of Mozilla Firefox
decreases.As Advanced Layers has many benefits:
- it submits smaller GPU workloads and buffer uploads than the existing
compositor.- it needs only a single pass over the layer tree.
- it uses occlusion information more intelligently.
- it is easier to add new specialized rendering paths and new layer types.
- it separates compositing logic from device logic, unlike the existing
compositor.- it is much faster at rendering 3d scenes or complex layer trees.
- it has experimental code to use the z-buffer for occlusion culling.
It's significant improvement over the existing compositor.
Any logical reason why Advanced Layers was disabled and want to delete it?
(In reply to Ryan Hunt [:rhunt] from comment #0)
[...] We should try to remove advanced layers,
as it's a lot of code and only in use on windows.Nearly 90% of Mozilla Firefox users are using Microsoft Windows operating
system.
You don't need to needinfo me twice to get a response. I've posted my answer in bug 1544538.
Reporter | ||
Comment 9•6 years ago
|
||
As we don't have anyone with time to properly investigate this further, we're going to delay removing advanced layers for now. See bug 1547805 for the pref flip back on.
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 10•4 years ago
|
||
Comment 11•4 years ago
|
||
Comment 12•4 years ago
|
||
bugherder |
Description
•