Description
Captchas
- I have read the instructions.
- I have searched existing issues and avoided creating duplicates.
- I am not filing an enhancement request.
What happened?
WebRender (The graphics rendering system in Gecko) splits the scene into retained layers (WR actually calls them pictures) which are composited into the window. Scrolling a retained picture only requires moving it around and re-compositing which saves a considerable amount of CPU and GPU time and makes a big difference for power usage.
WR's ability to split the scene into layers is limited by a number of things. For example element within a non-trivial clip or filter don't get a cached layer. The way Zen's UI is built currently prevents WebRender from generating multiple layers for scrollable content, I suspect because of the rounded-rectangle clip applied to the view.
This causes much choppier scrolling in Zen than in Firefox (and, I expect but did not actually measure, much worse power usage). It affects all platforms.
WebRender will probably get the ability to apply a rounded rectangle clip on retained layers some time this year. In the mean time Zen's beautiful rounded corners come at a very high cost.
Checking how the layerization is working in WebRender is a bit tedious. You can enable the gfx.webrender.debug.picture-caching
pref which will show a rather overwhelming overlay. You can compare with how this overlay looks in Firefox and maybe build an intuition from that or ask me if you need help with understanding it.
Reproducible?
- I have checked that this issue cannot be reproduced on Mozilla Firefox.
Version
1.9b
What platform are you seeing the problem on?
Linux (Flatpak)
Relevant log output if applicable
Metadata
Metadata
Assignees
Labels
Type
Projects
Status