![]() |
|
![]() |
|
> We all have different keyboards plugged into different USB interfaces plugged into different computers running different versions of different operating systems. I've actually been curious about getting a wireless keyboard recently, but wondered about how big of a latency impact there would be. Normally I use IDEs that definitely add a bit of sluggishness into the mix by themselves, but something compounded on top of that would probably make it way more annoying. A quick search lead me to this site: https://www.rtings.com/keyboard It does appear that they have a whole methodology for testing keyboards: https://www.rtings.com/keyboard/tests/latency For what it's worth, it seems that well made keyboards don't have too much latency to them, even when wireless (though the ones that use Bluetooth are noticeably worse): https://www.rtings.com/keyboard/1-3-1/graph/23182/single-key... Just found that interesting, felt like sharing. Might actually go for some wireless keyboard as my next one, if I find a good form factor. Unless that particular keyboard does something really well and most others just have way worse wireless hardware in them. |
![]() |
|
My initial gut reaction to this was - yeah, of course. But after reading https://danluu.com/keyboard-latency/ - I'm not so sure. Why exactly should physical travel time not matter? If a keyboard has a particularly late switch, that _does_ affect the effective latency, does it not? I can sort of see the argument for post actuation latency in some specific cases, but as a general rule, I'm struggling to come up with a reason to exclude delays due to physical design. |
![]() |
|
Rhythm games will often have compensation for the delays of the input, audio, and visuals. Some do this without telling the users, others do it explicitly, e.g. Crypt of the Necrodancer.
|
![]() |
|
The latency of the physical key going down is counted in that post, so it includes mechanical "latency" that will differ depending on how hard you press the keys and if you fully release the key.
|
![]() |
|
I put Gentoo+Xfce on Lenovo x86. Not sure what to do about touch display and rotate (fancy laptop). I've not tried an ARM laptop but this setup also works on RPi. |
![]() |
|
Less mouse is required, but less mouse is permitted. It's just "less mouse". Sometimes I just want to use the mouse. (if you only want keyboard then i3/Sway is great though, obviously) |
![]() |
|
> What really got my goat about this article is that prior to the latest tested version of Gnome, the repaint rate was a fixed 40Hz! Whose decision was that? From a previous VTE weekly status message, leading up to the removal: "I still expect more work to be done around frame scheduling so that we can remove the ~40fps cap that predates reliable access to vblank information." (from https://thisweek.gnome.org/posts/2023/10/twig-118/) So as with a lot of technical debt, it's grounded in common sense, and long since past time it should have been removed. It just took someone looking to realise it was there and work to remove it. |
![]() |
|
It's an interesting observation, and it's constructive, providing actual data and knowledge. I downvoted you for negativity because you're providing nothing interesting.
|
![]() |
|
While I fully believe this could work, seems like it might need to be a temp solution. Ripping out the battery seems like a solution that might have more downsides than advantages.
|
![]() |
|
> I also don't like the whole tmux window/pane manipulation you can do, I'd rather have my primary DM to do that well. I agree, and have settled on `dtach`; holding a pty is all it does. |
![]() |
|
If you want only the other half of it (terminal “window management”), there’s dvtm. For a short while I tried using dtach + dvtm instead of screen but I wasn’t really gaining anything |
![]() |
|
I've been using Gnome for years and am currently on Gnome 46. I hadn't noticed any difference in the terminal latency from Gnome 45. Like you, I think I just don't notice these things.
|
![]() |
|
It is just old school terminal behavior. Even xterm iirc 25 lines 80 columns. That natural screen size. See also natural terminal colors green letter with black background.
|
![]() |
|
I use xterm and i3wn on debian and I never experienced anything faster. Surely the idea of waste GPU for the terminal never even crossed my mind so alacritty is IMO overkill.
|
![]() |
|
Finally a terminal benchmark that isn't just cat-ing a huge file. Would love to see the same test with a more diverse set of terminals, especially the native linux console.
|
![]() |
|
Just recently, I did a terminal latency test with Typometer for the following terminals, sorted by lowest latency:
I only tested for software latency (monitor, keyboard and other hardware latency is not included in Typometer benchmarks). I ran the test on Arch Linux with Xorg + bswpwm without compositor. You can find the full results on by blog https://beuke.org/terminal-latency/.
|
![]() |
|
Compared to a similar 6yo [1] and 3yo[2] (by zutty maker) comparisons, VTE terminals still (at least pre-46) bad in latency front. (They're as high as VS Code based beuke article.) Xterm still rules it. (Pointed in [2], this is due to direct rendering via Xlib which comes with the downside of having poor throughput.) Alacritty significantly improved, Konsole got worse. About Alacritty, it's pointed in [2], there were various opened tickets related to its poor performance and wasn't an easy to solve problem. So kudos to Alacritty devs for succeeding and GNOME devs for improving in the new version. Alacritty, Kitty, Zutty, GNOME, others, quite a rejuvenation in terminal development. [1]: https://lwn.net/Articles/751763/ [2]: https://tomscii.sig7.se/2021/01/Typing-latency-of-Zutty |
![]() |
|
Does it take into account Wayland, and its double-buffered nature (unless you specifically opt for disabling v-sync, see the presentation protocol)?
|
![]() |
|
I wonder how Kitty would do on these benchmarks. Kitty is a different beast to Alacritty and has tonnes of features (many of which I'm grateful for), but I wonder what the performance cost is. |
![]() |
|
The entire point of POSIX is that, if you only use what it defines, your program automatically becomes cross-platform, because it will run on several Unices, as well as other systems (like Haiku).
|
![]() |
|
So I have to click twice, change domains once in order to get this information. It's actually easier to just check the releases for prebuilt windows binaries. I think that's telling. |
![]() |
|
I never understood why people want a bunch of features on their terminal. I just want a terminal that doesn't get in the way of my tools. Alacritty is great at that
|
![]() |
|
I can notice a slight latency in Gnome Terminal ... running in a VM ... on a Windows host ... being accessed via RDP over Wi-Fi and a 100 Mbps line. Not enough to bother me.
|
![]() |
|
I remember many years ago, SBCL would build noticeably slower on gnome terminal as compared to xterm due to how verbose the build process was. I think they even put a note in the README about it.
|
![]() |
|
My distro recently upgraded to Gnome 46 and as someone who spends a big chunk of their day in a terminal, the difference was very noticeable. Great work to everyone involved!
|
![]() |
|
I would be interested in a comparision of uncomposited X11 running Xterm using this measurement method. Xterm outperforms everything "on paper" with typometer but is it really real? |
![]() |
|
I would encourage you to do these sort of tests yourself, the hardware involved is pretty inexpensive (I'd expect you should be able to get something for <$50)
|
![]() |
|
> that is only really meant for testing. It is, however, quite useful for benchmarking, But not very useful for real users Although great that they are measuring real latency with a camera! |
![]() |
|
Speeding up the gnome terminal is useless whe you realize GNOME has been removing keyboard support features from Gtk since 2014. Try to copy a file path from that Gnome 46 terminal and do a File-Open operation in a Gtk application and ctrl-v Woops! Error! "The folder contents could not be displayed. Operation not supported" GNOME and Gtk3/4 no longer prioritize keyboard inputs and hide them behind complex key shortcuts. They let keyboard inputs bitrot and fail because they only care about GUI inputs. It's an open bug since 2014, opened and closed as wontfix literally dozens of times. Brought up in #gtk chat a similar amount. Latest (2023) wontfix: https://gitlab.gnome.org/GNOME/gtk/-/issues/5872 |
But wait! Not so fast (smile). This benchmark uses the compositor "raw Mutter 46.0", not GNOME Shell. Raw mutter is "a very bare-bones environment that is only really meant for testing."
In addition, this measurement is not end-to-end because it does not include keyboard latency. In this test, the "board sends a key press over USB (for example, Space)". Latencies just within a keyboard can go up to 60msec by themselves: https://danluu.com/keyboard-latency/
What are the true end-to-end numbers for the default configuration, which is the only situation and configuration that really matters? I wish the article had measured that. I suspect the numbers will be significantly worse.
I do congratulate the work of the GNOME team and the benchmarker here. Great job! But there are important unanswered questions.
Of course, the Apple //e used hardware acceleration and didn't deal with Unicode, so there are many differences. Also note that the Apple //e design was based on the older Apple ][, designed in the 1970s.
Still, it would be nice to return to the human resposiveness of machines 41+ years old.