When you scroll up or down past the current terminal page view, the scroll feels very laggy and sluggish. So much so, that if you hold j/k for long enough, you'll have to wait until the rendering's finished to do anything at all. The csv I was looking at only has 4 columns, so it's not exactly much to parse and render, but it's slow. I understand that when the page changes, you have to re-render most elements, however, stuff like the column count with it's respective tabulation, and csv headers don't need to be re-rendered, and from what I'm seeing by the column & line boundaries shifting around, they're being re-rendered (line column size should just be pre-allocated by the newline count for example). There are loads of TUI programs that despite needing to re-render portions of the page, have some decent buffering, and/or good strategies to minimize rendering to where there's no scroll lag (e.g. heh, gonk, bottom).
When you scroll up or down past the current terminal page view, the scroll feels very laggy and sluggish. So much so, that if you hold
j/kfor long enough, you'll have to wait until the rendering's finished to do anything at all. The csv I was looking at only has 4 columns, so it's not exactly much to parse and render, but it's slow. I understand that when the page changes, you have to re-render most elements, however, stuff like the column count with it's respective tabulation, and csv headers don't need to be re-rendered, and from what I'm seeing by the column & line boundaries shifting around, they're being re-rendered (line column size should just be pre-allocated by the newline count for example). There are loads of TUI programs that despite needing to re-render portions of the page, have some decent buffering, and/or good strategies to minimize rendering to where there's no scroll lag (e.g. heh, gonk, bottom).