Skip to content

Power management is way too aggressive regards gpu compositing of browsers and/or memory speed #459

@Jurek-Raben

Description

@Jurek-Raben

Testing with recent Firefox, Asahi's power management too drastically reduces the GPU's ability to do layer compositing. Once the power slider is set to the middle, the following demo already heavily starts to stutter. Even though what's live-calculated here is not really taxing for the tested M1Pro cpu/gpu.

Testing the same with Firefox macOS, you will see that it runs butter smooth, even 144Hz, even if the Firefox window is not focused. Same with Chrome. If you check the usage, this page even with the below mentioned webgpu background is taxing one core in sum around 100% with multiple Firefox processes.

I actually have no idea how the power management internally works, if it can be configured at such a fine-grained level. I guess not. Then I would assume that it's a problem how the graphics driver reacts to the lower power setting.

Anyway, here is the mentioned page. It's compositing multiple canvas layers. The background layer sometimes is a webgpu layer.

https://virtualcreations.de/error/

https://virtualcreations.de/error/?|trip <-- with webgpu background layer variant 1
https://virtualcreations.de/error/?|trip2 <-- with webgpu background layer variant 2

Goal would be a smooth browser experience as you get in macOS Firefox. You can see that the webgpu background actually renders smoothly, but the foreground stuff is skipping frames. The foreground stuff is using mostly cpu, a bit of gpu. I've already tried to optimize the processing.

btw. you might have to enable webgpu in Firefox "about:config" first. This is enabled by default in all major browsers now, but sadly only on macOS and Windows. But webgpu is rendering very smoothly in Asahi Firefox, too. So the problem is the compositing of the layers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions