Last Updated on August 11, 2021
In Operation
Here’s an image of kitty in action.
Offloading rendering to the GPU helps in a couple of ways. It helps to reduce system load, and provide smoother scrolling.
kitty offers a flexible and powerful font selection. You can specify individual families for the regular, bold, italic and bold+italic fonts. However, kitty can only use monospace fonts. This is deliberate as it enables caching alpha masks of each rendered character on the GPU, so that every character needs to be rendered only once.
There’s the ability to open the scrollback buffer in a separate buffer. Pressing the ctrl+shift+h key-combination opens the scrollback buffer in your favorite pager program. And the emulator has multiple copy/paste buffers.
The chart below shows the time taken to concatenate a large text file (using the cat utility). The file used is a 3.4GB text file. This isn’t a very scientific test of a terminal’s scrolling speed. But it gives an indication of which terminal emulators offer buttery smooth scrolling. It’s also not a test of latency.
As you can see, kitty completes the test quicker than many terminal emulators, but it’s significantly slower than Alacritty, which is also hardware-accelerated. Notable results go to urxvt and st, neither of which offer hardware-acceleration, but both completed the test with amazing rapidity. They sacrifice many features though.
You might be wondering why hyper is not included in the above chart bearing in mind my recent glowing review. Bizarrely, hyper fails to complete the test, with systemd reporting that it core dumps about 1/3 of the way through the text file. Something I’ll need to investigate further.
Next page: Page 3 – Other Features
Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Other Features
Page 4 – Summary
Well written review.
Some other points to consider …
“kitty can only use monospace fonts”
For actual doing work in a terminal (not just something to look pretty in a screenshot) why would anybody want other than a monospaced font?
Even In the simplest of cases, vis file listing (eg ls -aFl), columns of information would no longer line up.
Is the xterm on your memory usage graph with or without TeK window support which it has been claimed in the past causes xterm to be more of a memory hog?
And why not also include rxvt (original version not the same as unicode-rxvt urxvt) which always claimed in its manual page as being one of the most memory efficient of terminal emulators.
Also urxvt (unicode-rxvt) is not so bad for running multiple urxvt windows as would seem from the single instance because it comes with a urxvtd (daemon) with which multiple urxvtc (client) instances can be fired up.