Closed Bug 1544538 Opened 6 years ago Closed 6 years ago

Pref-off advanced layers

Categories

(Core :: Graphics: Layers, task, P3)

task

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- fixed

People

(Reporter: rhunt, Assigned: rhunt)

References

Details

Attachments

(1 file)

We'd like to lower the amount of supported accelerated backends on Windows by removing advanced layers. A good first step would be to pref off advanced layers by default. This will allow us to easily flip it back on if needed.

Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Regressions: 1545313
Regressions: 1545385
Regressions: 1545380
See Also: → 1546140

Is this planned to stay off by default all the way to release?

Flags: needinfo?(rhunt)

We'd like to keep this change through release if possible, but may not be able to if we can't resolve the regressions in time.

Flags: needinfo?(rhunt)

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 this change 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?

Flags: needinfo?(rhunt)

I'd like to see this change backed out until we understand the regressions and performance impact. We are basically choosing to regress performance for people knowingly with no mitigation plan.

(In reply to Virtual_ManPL [:Virtual] - (please needinfo? me - so I will see your comment/reply/question/etc.) from comment #6)

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 this change 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?

Do you have a specific page that sees decreased performance without advanced layers?

The graphics team is aware that Advanced Layers has those features. It's not clear that they have a meaningful effect on performance for users (outside of benchmarks) that is worth the maintenance burden on the graphics team.

Flags: needinfo?(rhunt)

(In reply to Vicky Chin [:vchin] from comment #7)

I'd like to see this change backed out until we understand the regressions
and performance impact. We are basically choosing to regress performance for
people knowingly with no mitigation plan.

We won't let this ride the trains if we find there is a significant performance impact that outweighs the maintenance burden. However it's not clear there is one yet.

My understanding is that we didn't see significant telemetry changes on the enabling of this feature or on its recent disabling. We do have a talos regressions open that still needs investigation, but talos is not always a good measure of real user impact.

If you have evidence otherwise, that would be really helpful. We don't want to unnecessarily impact performance if we can help it.

And for clarity, the long term mitigation plan is to switch our Advanced Layers users to Webrender.

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.

Type: defect → task
Depends on: 1545313
No longer regressions: 1545313
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: