GNOME Bugzilla – Bug 559203
Resizing windows in Metacity is jerky
Last modified: 2020-11-06 20:06:40 UTC
I've just compared Metacity and IceWM window managers. Metacity is great, but IceWM have one advantage: resizing windows is smooth. Basically, when user resizes window in Metacity, it waits for it to redraw and then draws itself in a different size. This makes resizing complicated apps (like Calculator in Scientific mode with cpu-hungry theme) jerky. Basically, user resizes calculator, metacity waits till calculator's window is redrawn and then allows to resize further. IceWM allows user to resize windows without waiting for redraw (it happens as soon as app is able to redraw its window), so the resize "feels" a lot smoother. Actually, I've noticed that GTK is fast, the feeling about slowness comes from Metacity. When Metacity is applied to KDE apps they feel a lot slower. If you want to see exactly what I'm talking about, just apply a cpu-hungry theme, open calculator, set it to "Scientific" mode and resize it both with Metacity and IceWM. Notice that resizing with IceWM is A LOT smoother than with Metaciy. Other information: AFAIK Metacity is the only popular window manager that does that. XFCE's and KDE's window managers are not waiting for the window to redraw, they're just allowing users to resize. MS Windows' window manager does the same thing, that's why GTK feels smoother on Windows.
To avoid tearing (messed-up frames considering the entire screen as a whole) the WM and the app have to repaint in a synchronized way, which metacity I believe tries to do, at least with apps that support it. Two possible fixes are: * put a max time to wait on the blocking for the app repaint, or change the timeout (guessing there already is one) * fix the apps not to repaint slowly
As for the point 2 - you can't fix all apps. You can try to fix GTK (it work a LOT slower when the buttons are rounded even in a minimal way, putting gradients and effects on square buttons in murrine doesn't affect performance so much as rounded buttons - I've filed a bug about this but it was closed as invalid I think). But even if GTK apps will be fixed, KDE, windowed OpenGL and WINE apps will still have the same issue. I don't know exactly how IceWM does it, but it seems that with IceWM application is repaining less frequently. For me, it's a pain to resize big GEdit window with huge file in it (I have 1680x1050 display) and precise resizing is just a mess (2.54ghz c2duo should give user a decent speed). For comparsion resizing Notepad++ window with a huge file in it feels a lot smoother than resizing GEdit window. For a newbie user that wants to test GNOME, in most cases the user opens some basic applications - like Calculator. When user sees that the resize is jerky, he doesn't think that the theme may be CPU-intensive. For him, it just works slow and he switches back to KDE/Windows.
bugzilla.gnome.org is being replaced by gitlab.gnome.org. We are closing all old bug reports in Bugzilla which have not seen updates for many years. If you can still reproduce this issue in a currently supported version of GNOME (currently that would be 3.38), then please feel free to report it at https://gitlab.gnome.org/GNOME/metacity/-/issues/ Thank you for reporting this issue and we are sorry it could not be fixed.