[cinnamon/windowManager] PERF: Batch workspace-switch animations#13421
[cinnamon/windowManager] PERF: Batch workspace-switch animations#13421carsteneu wants to merge 2 commits intolinuxmint:masterfrom
Conversation
Prevent compositor overload when switching workspaces with many windows. - Add animation queue with MAX_CONCURRENT_ANIMATIONS = 10 limit - Process animations in batches instead of starting all simultaneously - Each completed animation triggers the next from queue Without batching, 30+ windows create 30+ parallel Clutter timelines, causing frame drops and compositor stutter.
|
Your use-case is exceptional - let's just skip the animation if there are more than so many windows open. I don't like this added complexity here. This won't ever be an issue for most users. |
|
Thats true, not so special if you think about 10 or 20, but it is also more snappy if there are only a few windows on standard 4 workspaces. I think it will also count on older hardware. |
|
I don't like the added complexity, or the effect you get with this - it's distracting to change workspaces and then have to wait extra time for the overflow to catch up. Again I think the best answer here is to skip the animation in extreme situations - get the window list immediately in |
Prevent compositor "overload" when switching workspaces with many windows.
Without batching, 100+ windows create 100+ parallel Clutter timelines, causing frame drops and compositor stutter.
I had this problem because I often have more than 100 windows open across 12 workspaces. (Really? Yes, really.)
With the fix, switching between workspaces is noticeably faster and smoother.
Cheers, Carsten