Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workspace switching and Expo drops frames and exhibits delays when the grouped window list applet is in use #647

Open
Uldreth opened this issue Nov 11, 2022 · 3 comments

Comments

@Uldreth
Copy link

Uldreth commented Nov 11, 2022

 * Muffin 5.4.7 (Cinnamon 5.4.12)
 * Linux Mint 21 Vanessa
 * AMD Radeon  RX Vega 64, amdgpu, mesa 22.2.3 (Kisak PPA)
 * 64 bit

Issue
When using the "Grouped Window List" (GWL) applet, and a realistic number of windows are spread over multiple workspaces, the workspace switching animation and the Expo effect is stuttery, laggy and unresponsive.

The same issue does not seem to be present when the "Window List" (TWL; for "traditional window list") applet is used.

Steps to reproduce

  • Set up Cinnamon so that the "modern" layout or something similar is used, eg. a GWL is present on the panel.
  • Open a number of windows and spread them across at least two workspaces.
  • Use keybinds, clicks on the GWL icons (assuming it has been enabled that windows from all workspaces are shown) or use the workspace switcher panel applet to move between workspaces.
  • Open and close Expo several times, click various windows in the expo mode.
  • Observe that in each case, the animations are stuttery, they drop frames and sometimes mouse clicks (eg. in expo view) register a few split seconds later than expected. Altogether the experience is not smooth.
  • Replace the GWL with the TWL and reload Cinnamon. Observe that now workspace switching and expo is smoother and much more responsive.

Expected behaviour

The GWL performance should match that of the TWL.

Other information

I posted this in Muffin, but if this is a GWL bug then I guess it belongs to Cinnamon instead. Apologies in that case.

I have considerable interest in helping to diagnose this issue, but I will need some input from the team. In particular, I seem to have observed a scaling behaviour, namely:

  • The more windows and more workspaces are in use, the worse the effect is.
  • If the GWL is set to isolate workspaces (i.e. a window on one workspace won't show up on the other), there seems to be better performance than if windows from all workspaces are displayed.

These are only hunches however as it is quite difficult to obtain accurate performance information from just "looking at things" with a naked eye, so in particular I cannot state with utmost certainty that the above mentioned scaling behaviour is present, only that "GWL with windows from all workspaces" is much worse than "TWL with isolating workspaces".

So if the team can tell me how to do actual performance measurements, I am willing to spend some time in trying to explore this issue.

Edit: Ran some further tests: 1) this performance drop is actually quite difficult to pick up when one focuses on testing, I originally noted it when doing heavy work across 2-3 workspaces in which case the performance hit gets very noticable and jarring even though the effect is likely quite small by itself; 2) checking the "Show windows from all workspaces" option on GWL seems to have a much larger effect than I remembered and it looks like it is the main problem source.

@mtwebster
Copy link
Member

Do you have thumbnails enabled? Try disabling them if so - trying to get 'live previews' for thumbs throughout Cinnamon has been a challenge, and may have affected performance and wasn't noticed (I don't usually use GWL).

I think the other window list creates these previews the same way, but the applet as a whole is quite a bit 'lighter' than GWL.

@Uldreth
Copy link
Author

Uldreth commented Nov 12, 2022

Yes, thumbnails are enabled. However I now also did some testing with changing thumbnail settings and they do not seem to affect the issue at all (however something I noted: the "Animate thumbnails option" does not seem to do anything, i.e. if turned off I still get live, rather than static thumbnails, assuming that's what the option is supposed to do), GWL with the thumbnails disabled seem to have the same performance as with thumbnails.

However it is very difficult to do direct testing. I want to emphasize that the performance drop is very small, so if I set out to do some testing I always second-guess myself whether I am seeing any change or not. When doing work that needs fast window switching, the split-second delays and stutters get really inconvenient however.

@AchillesBoi
Copy link

AchillesBoi commented Jan 4, 2023

I also suffer from dropped frames and stuttery animations on Mint 21.1 on a capable desktop computer. If I install ubuntu-session or gnome-session and compare the animations of the GNOME desktop (with Ubuntu's mutter patches) vs. Mint's latest Cinnamon (muffin) on the same computer, the difference is night and day. GNOME is smooth the entire way with any amount of windows, while Mint starts to stutter at 3-4 small windows of Nemo.

I tried removing the GWL applet and restarting Cinnamon as suggested but the stutter is still there. It used to be smoother on Mint 20.x. I could ignore these issues if I didn't use the Expo so damn much, the stutters really get in the way of a smooth experience. I actually moved back to GNOME at the release of Mint 21.0 specifically due to the new Muffin's performance issues but GNOME still does not provide a desktop interface suitable for my kind of work, so I'm back to Mint 21.1, warts and all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants