However, I have never analyzed which are the exact causes, because my configuration has a lot of differences and I am not sure which of them matter.
I suppose that it is important that I use neither Gnome nor KDE, but XFCE. Even so, some of the applications that I use are intended for KDE or Gnome, so they use the corresponding libraries, and I do not know if these have any reason to be more responsive under XFCE than under their native desktop environments.
I prefer to use a completely empty desktop, without icons or toolbars and having as background a neutral gray. I launch applications by right click on the desktop and I restore minimized windows from an auto-hidden taskbar.
I take care that there are no active services/daemons besides those that I really need. I do not use systemd or anything associated with it. I have stopped using swap memory two decades ago (but I equip all my computers with generous amounts of DRAM, to avoid out-of-memory situations; my oldest computers have at least 32 GB and nowadays I would not buy one with less than 64 GB).
I use only 4k monitors with 30-bit color, so using lower resolutions is not needed for a snappy GUI.
I use the proprietary NVIDIA drivers or the Intel drivers on computers with the integrated Intel GPU. I use a customized Linux kernel, but I doubt that this can have any influence on GUI responsiveness, even if it ensures fast boot times. I do not use Wayland and I doubt whether it is the right replacement for X Window, because its initial design was very flawed, even if some of the original defects have been corrected meanwhile.
For viewing PDFs or EPUBs, I use MuPDF, which is much faster (especially on startup, which is instantaneous) than the other viewers that I have tried. It has some limitations, so I also keep around other viewers, e.g. Okular, for the cases when I need a feature not provided by MuPDF. As file manager, I use Xfe.
For my laptop, I’ve used i3, polybar (to get pretty bar at the top), rofi (a fine launcher), autorandr (detect and switch to my monitor and turn off laptop screen when I plug in), and… a random Arch Linux forum post to get automatic accelerometer based screen rotation going.
https://bbs.archlinux.org/viewtopic.php?id=243005
I bet there’s a fancy tool out there but this script seems to work after a little customization, and it is only a couple lines, so it can be understood!
for_window [all] floating enable
It's stupid, but I've been using this for a couple of years now.I use the multiple desktops feature a lot, though. Some programs are pinned to a dedicated desktop and run all day. Others I start in (or move to, later) a numbered desktop, and switch to them by changing the desktop. Often, most of the desktops contain only one window.
I once used i3 and sway the right way, of course. I guess I had one too many of those programs that were not designed to work at arbitrary window sizes, added the above rule and called it a day.