WayfireWM / wayfire

A modular and extensible wayland compositor
https://wayfire.org/
MIT License
2.36k stars 175 forks source link

Zoom effect uses more gpu and gpu resources. #2065

Open frank038 opened 9 months ago

frank038 commented 9 months ago

Description: Zoom effect uses more gpu and gpu resources when in use. When the zoom effect is in use, it seems to me that Wayfire is in activity for something I don't now.

How to reproduce: just zoom in the desktop by using +mouse wheel

Expected behavior: less gpu and cpu usage (which are almost at zero, especially the gpu usage, when the desktop is not zoomed in).

Screenshots or stacktrace If applicable, add screenshots to help explain your problem. If it is a crash, attach the backtrace (or the whole log file), Wayfire will print it in the end of the log file or stdout. Backtrace with address sanitizer enabled (if possible):

Wayfire version: 0.8.0 (and previouses)

Plugins used in my config file: plugins = \ alpha \ animate \ autostart \ command \ decoration \ fast-switcher \ foreign-toplevel \ gtk-shell \ idle \ move \ oswitch \ place \ resize \ shortcuts-inhibit \ switcher \ wayfire-shell \ window-rules \ wm-actions \ zoom

soreau commented 9 months ago

How are you measuring your gpu resource usage and what graphics driver are you using? After a quick glance at the zoom plugin source, I don't see any calls that allocate resources at all. There still may be a wayfire bug somewhere, but you are the first to report such a problem, with zoom at least.

frank038 commented 9 months ago

How are you measuring your gpu resource usage and what graphics driver are you using? After a quick glance at the zoom plugin source, I don't see any calls that allocate resources at all. There still may be a wayfire bug somewhere, but you are the first to report such a problem, with zoom at least.

The graphics card is an Intel iGPU, and the programs used are intel_gpu_top and htop.

soreau commented 9 months ago

The graphics card is an Intel iGPU, and the programs used are intel_gpu_top and htop.

intel_gpu_top shows gpu resource usage, but which field is increasing or what are you seeing that makes you think resources are being used and not freed? What does htop show? Increasing ram usage by wayfire or something else?

frank038 commented 9 months ago

intel_gpu_top

As wrote before, the gpu usage, or the render 3d engine, due to wayfire activity; and the cpu usage due to wayfire activity. Nothing else.

ammen99 commented 9 months ago

This is expected behavior. Wayfire renders the full output to an auxiliary buffer and then cuts out the zoomed in part, so we have more work for the GPU and more memory required (since we need an auxilliary buffer).

ammen99 commented 9 months ago

It could of course be changed but it would be at the expense of stuff like blur, it might look a bit weird when the two effects are combined. To anyone interested: feel free to ping me if you want to implement an optimized zoom, I can try to give you some pointers.

frank038 commented 9 months ago

It could of course be changed but it would be at the expense of stuff like blur, it might look a bit weird when the two effects are combined. To anyone interested: feel free to ping me if you want to implement an optimized zoom, I can try to give you some pointers.

It would be nice to have a such plugin (with better performance). Sometimes I need this function (with xorg, xrandr can be used).