Recently I’ve been trying to track down some sudden slowness in canto-curses
. Things like scrolling and other routine operations seemed to take many times longer than they should.
Well. To make a long and ultimately fruitless debug session short, turns out that the problem wasn’t with canto-curses
it was with the terminal I’ve been using. I’ve been distro-hopping again (sorry Arch, you broke my shit one too many goddam times) and lately I’ve been trying out LMDE with the Cinnamon desktop. I don’t feel as efficient as I do with a tiling WM like Qtile, but I’ve been mostly happy with it.
As part of the Cinnamon desktop, I’ve been routinely using gnome-terminal
which, in turn, uses cairo to do its font rendering like a lot of the other DE terms. Apparently cairo
doesn’t like having walls of text thrown at it as often as canto-curses
does, and as such, scrolling the terminal (which pretty much means every character on the screen needs to be updated) chokes cairo
and slows scrolling to a comparative crawl.
The solution? Well, I don’t have one in code yet. I’m wondering if I can workaround it or at least smooth it out. So, in the meantime, if canto-curses
doesn’t scroll fast enough for you, use a non-cairo terminal like [u]xterm or [u]rxvt.