93 points · 27 comments · 2 days ago · GalaxySnail
farnoy.devnickjj
audidude
I found it hard to believe we couldn’t get a wakeup timer more granular than 1 ms, so I looked at what KWin was using. Indeed, it was passing the sleep duration in milliseconds to a QBasicTimer.
I fixed the same thing in GNOME a few years ago across GLib, GTK, and Mutter/GNOME Shell. It required getting glib onto ppoll() finally.
badsectoracula
Originally, I had meant to compare with X11 sessions as well, but with KDE removing them soon, I dropped it.
Last time i checked X11 without a desktop compositor (very important) still provides the least latency of any environment, so even if KDE Plasma (not KDE as a whole AFAICT) drops support, there are other WMs/DEs that will work with it and have minimal latency on desktop.
Leonard_of_Q
jchw
While randomly closing apps, I found the culprit: the Zed editor. Apparently, an open Zed window can add latency to all my other apps even while idle in the background.
Zed definitely does funny things to KWin. It's not the only app that does, but this point in particular would be worth more investigation. I've noticed it causing weird issues with the frame pacing as well sometimes.
gblargg
There it was, something about my desktop profile was introducing at least 3 ms of latency [as compared to creating a fresh account]! From here, I tried a bunch of things: plasma-manager to diff my existing profile against a clean one, removing all virtual desktops and disabling all KWin effects and any display scaling. While randomly closing apps, I found the culprit: the Zed editor. Apparently, an open Zed window can add latency to all my other apps even while idle in the background.
Things like this are so maddening. I don't worry too much about performance on Linux, reserving a Windows machine when I want full hardware acceleration and optimization.
naranha
dvh
Joe_Cool
eqvinox
sylware
I say that because I play some timing tight action games natively on elf(glibc)/linux. Let's take an example with one of the toughest: Silksong.
I was trying to beat lost lace, her timings were too tight and nearly at each try I was locked in some hardly humanly dodge-able pattern combination. I knew all of her patterns by heart after zillions of tries.
Then, I started to have strong suspicions: I closed all background apps, disconnected the network and try again... did beat her, first try, super ez, like she was transparent to me and slow, I could "read" her and react in time easily.
I am running a Zen2, 12 cores at ~4GHz... and native x11 with xorg, sooo... the main culprit seems to lie in game engine programming and then would not completely tied to wayland programming (don't worry, I am coding my own wayland compositor, so, I am going to move to wayland, well actually designing a 'binary layout' for a wayland compositor to be accurate).
I am now in a Silksong steel soul run, and you bet I'll keep this experience in mind, because when I watch video streams of other people fighting some bosses, I can cleary "read" their moves like it is "slower" and which seems much less "aggressive", but once I fight them on my system, nope, I get a much harder time at reading the boss patterns. The "closing all apps and disconnecting the network cable" did not change a thing here, because I am currently fighting "ez' bosses then I always manages to get rid of them before I get really used to their patterns again... we will see with later and harder bosses.
But this could be another [obvious] culprit: stress. I know I am very, VERY, sensitive to stress: it disrupts severely my mind and worse with very little of it. In other words, I would have "brain fog" while fighting a boss because of stress, and the time I did beat lost lace in one shot ez: I was "testing" something without the stress instead of actually trying to beat her... a abysmal difference.
haeseong
Sweepi
GE 10.34 released March 23th, 5 days after 10.33 - any reason to test with 10.33 in June? Was there a regression?
Turns out it was due to a combination of things.
I was using niri (Wayland window compositor) and this input latency was present with or without v-sync turned on. It happened when I was using a 60hz 4k monitor with an NVIDIA GPU.
Then I tried playing the same game on a laptop (same distro and dotfiles) with an AMD GPU and no external monitor. The delay disappeared.
Then I played the same game on that laptop but hooked it up to the 4k monitor and I had the same keyboard input latency only when v-sync was enabled. When I turned off v-sync and capped my FPS then the input latency was reduced by an amount that I could no longer perceive the delay.
Then I put an AMD GPU in the original desktop I was testing and reproduced the same results as the laptop.
However, when I switched to using KDE Plasma with X or Wayland, the keyboard input latency disappeared. This was with the 4k monitor and both NVIDIA and AMD GPUs.
I reported it to niri but it hasn't gotten traction, I just know I can reproduce it on 2 completely different systems with different GPU vendors and hardware when the common ground is having a 4k 60hz monitor hooked up.