3 ms·
Input latency is the problem for many terminals when a command accidentally generates megabytes of output text - the console locks up and won't respond to input
by joosters 6y ago
Input latency is the problem for many terminals when a command accidentally generates megabytes of output text - the console locks up and won't respond to input until it has rendered and scrolled through every single line of output.
Surprisingly few terminals, when suddenly faced with a million new lines of text, decide "hey, let's just draw the last screen of output, I don't need to draw each and every line and then move the existing text upwards by a row"
- tux3 6y agoThere's a good reason terminals can't just skip ahead, even if we ignore ANSI/vt100/etc escape sequences, even "plain text" is not so plain. Some applications output a few lines, then many MBs of "\rcurrent progress: xx.xxx%" that constantly overwrites itself. Rendering is just not linear.
- swiley 6y agotmux will skip drawing text if it gets enough of it, it still maintains state but it waits to render it.