← Back to context

Comment by sneak

5 years ago

If only they cared about such things for Terminal.app, so we didn't have the extra step of installing Alacritty on every single machine to improve the situation (and not to anywhere near 9ms, even).

Isn't Terminal.app famously pretty speedy compared with most other terminal emulators? In fact, there's a link from this article to another of Dan's posts that's precisely about terminal performance - https://danluu.com/term-latency/

It's a few years old now so I've no doubt that Alacritty's performance has improved, but I'm suspicious of the idea that Terminal.app is noticeably slow.

  • I've always loved the low latency of Terminal.app (particularly over iTerm2, which I find unusable), but recently noticed that it has gotten a little worse in Big Sur now that the "Antialias Text" option is broken on non-retina displays.

    I assume the extra forced compositing/rendering/whatever being imposed by antialiasing is to blame, though I could be wrong.

    Catalina: https://i.imgur.com/G66HpJ6.png

    Big Sur: https://i.imgur.com/R5dlzdj.png

    rdar://FB8901170 if any apple employees happen to see this :)

I've always found this a bit funny - why are people so concerned with input latency at the terminal? (I get why I care with a phone, or gaming). It's not like anyone's typing hundreds of characters a second. I use Alacritty, but mostly because I like the way it's config file works and it does nice font rendering. The latency thing barely even registers.

  • The same reason people are concerned with input latency when scrolling on a touchscreen. Lag is annoying, and the less you have, the more satisfying it is to use the device. Latency is detectible on even a single character, "hundreds of characters per second" has nothing to do with it.

    It's the same reason I'm not a big fan of mushy keyboards, or having to ssh between continents.

    • Sure, maybe I need to add "within reason". I agree I want my keystroke to appear reasonably quickly, let's say under 200ms to fit some of the stuff in the post.

      Alacritty used to make kind of a big deal of these "benchmarks" on it's main page, and they don't any longer because the software improvements in the terminal are likely completely overwhelmed by whatever keyboard/monitor/OS you happen to be using.

      That's the point. If you really care about this stuff, the terminal isn't exactly the place to go improve stuff unless it was way worse than it should've been in the first place.

      6 replies →

  • Some of us love CLI programs or using ncurses. Rougelike video games which can be played in a terminal (nethack) would profit heavily from a fast terminal

URxvt on a 144hz gaming monitor is excellent.

  • URxvt is fast, but still has a mean input latency of 18.3 ms. Try Xterm it only adds 1.7 ms to the stack. I find the difference very noticeable. I switched from URxvt to Xterm a few years back, although I had to give up on proper UTF-8 glyph rendering.

    Low latency is important for me, because I use Vim inside Tmux inside Xterm inside Xorg and latencies add up.

    https://lwn.net/Articles/751763/

Huh? Terminal.app is one of the fastest ones. iTerm2 is much slower in comparison.

At least for me, the terminal is the only place where latency is tolerable on underpowered, crappy machines. This is because my keyboard input stream will always trigger behavior deterministically in the terminal.