Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement partial updates #31

Open
djmitche opened this issue Apr 9, 2018 · 0 comments
Open

Implement partial updates #31

djmitche opened this issue Apr 9, 2018 · 0 comments

Comments

@djmitche
Copy link
Contributor

djmitche commented Apr 9, 2018

In many cases, an update only changes a few lines -- an integer increments here, a status changes over there -- yet log-update erases and redraws the entire output. For large ouptuts over a remote connection, this can cause some flickering as the screen refreshes between the erase-everything sequence and the replacement output.

In these cases, log-update can easily determine which lines have changed and only update those lines. #29 is a start at this, optimized for the case where the updates are near the bottom, but we could do better.

The approach is sort of like the invalidation-rectangle approach used by browsers to decide which DOM elements to redraw -- only much simpler in this case!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants