I’m still running Fedora 37 with GNOME and Mutter 43 (LTS Kernel) because the newer versions I tried on Fedora 38 and 39 were simply not as good. Note that I have a Nvidia GPU (gtx 1060) and use X11.
In terms of performance, one app in particular - GNOME Extensions Manager (flatpak), when opened, causes mircro-stutter when dragging windows (for all other windows), as well as window resize lag. Note that this is not the only app with similar problems, but the easiest one for me to remember and probably most severe. Consequently, all such problems are caused BY GTK4 / Libadwaita apps.
In GNOME 43 with Mutter 43, all I have to do is enable “Force full composition pipeline” in NVIDIA settings and all weird things like that are fixed. In fact, GNOME 43 with Mutter 43 reached the absolute pinnacle of performance on X11 for me (I think it was version 43.3 or 43.4 that made everything so good). Prior versions also had similar lags like above.
In GNOME 44 and 45 I experimented with various NVIDIA settings configs, and all of them always result in one thing being fixed over the other. For example if setting A is on and B is off, resize lag disappears, but dragging across the screen lag is still there. If B is on and A is off, the opposite. If they’re both on or off, nothing changes etc.
The other issue I have with GNOME 44+ (introduced in GNOME 44 and still present) is applications not remembering their maximization state / window size properly. It was really bad in GNOME 44. Thunar - my file manager of choice and basically all non GTK4 apps (and I use a lot of them) would always start in their default in windowed state every time when the application was restarted. GNOME 45 appears to have fixed this to some extent, but not fully. Right off the top of my head VSCodium wasn’t fixed at all and the rest were partially fixed, where the window size / maximization state was only remembered on per-session basis. In other words, if you sign out or reboot, it would once again start those apps in their default windowed size. And of course, this effects both X11 and Wayland. It looks like the devs have introduced some totally different method of handling window data in GNOME 44, or changed the previous one and it results in this.