-
-
Notifications
You must be signed in to change notification settings - Fork 90
Description
Moved from ubuntu-mate/mate-tweak#96:
All other options are responsive (if you ignore the UI fade animations that are too slow and make it feel less crisp and snappy), but if you have like 20 windows open, it may take half a second for it to react to an ALT+TAB keystroke, and a double ALT+TAB (retaining the ALT, so, switching to two windows ago) will swallow up the second TAB press if I press it before the overlay of all windows shows up. If I go to a new workspace, it will get fast again, so it is only affected by the window count in the current workspace. I have no clue what the reason is, I assume it is due to re-compositing all windows, probably without SIMD instructions? Not sure whether this is the right place to post such an issue, as I have no clue where to post issues for Xpresent specifically. I assume it's some third party software and not directly "owned" by the MATE team.
Anyway, it would be great if someone could look into that. A low hanging fruit would be to properly buffer ALT+multiple TAB presses correctly, so that the UI lag at least doesn't swallow up keys. But I'm pretty sure it's just a very naive algorithm that is responsible for the UI lag, too.
But considering my laptop has a memory bandwidth of many gigabytes per second, and even the whole screen buffer only takes like 16MiB (RGBA8) or something at 2×1080p, and with a clock speed of up to 4GHz, you have like what, 1080p × 20 = 40 million pixels? If you divide 4 billion cycles by 40 million pixels, you would still have 103 cycles per pixel to finish all that in a second on a single core, without even using SIMD. Blending pixels or whatever the compositor is doing is not that hard, computationally. And it should also be able to know whether a window has any transparency at all, and then it doesn't even need to blend anything, and can simply memcpy it. 40 million bytes of memcpy is nothing, certainly not something that should take half a second or so.
It is incomprehensible to me how it can be this slow.