Painting shadows (in resizing window process) performance issue
I had possibility to compare picom performance in same PC between:
- Mesa : Radeon 5700XT
- Nvidia Proprietary drivers : GeForce RTX 3060 Ti Pro In xfce, awesomewm, i3.
It is almost same in both cases. Except one feature, resizing windows. Resizing windows is very slow with picom against without picom. This is known problem and I believe that there is not easy solution to solve it.
But there is significant performance issue, resizing windows with shadows for nvidia proprietary drivers against mesa. With shadows, the resizing is really terrible.
I haven't good knowledge about configuration picom.conf for nvidia yet. Is it known problem too? Is there some specific configuration for glx, shadows or some other internal parameter which can help with nvidia proprietary drivers? Can you post here some picom.conf optimized for nvidia? Thanks for help.
I partially solved the nvidia shadows repainting in the resizing process by activating of ForceFullCompositionPipeline in nvidia settings.
It is slow because as it is currently implemented shadow needs to be re-rendered in X pixmap and bound to OpenGL. The binding to OpenGL part is absurdly slow in NVIDIA driver.
It's possible to render the shadow in OpenGL directly, but I haven't got around to do it yet.