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

Add virtual screen and diff rendering #3

Open
InDieTasten opened this issue Sep 30, 2024 · 1 comment
Open

Add virtual screen and diff rendering #3

InDieTasten opened this issue Sep 30, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@InDieTasten
Copy link
Owner

This will be required for reducing flickering on larger terminals that continuously render updates inbetween our manual flushes. Instead of clearing the screen and rerendering everything on the terminal, we keep a snapshot of the previously rendered frame in Lua memory, render the new frame, then perform a diff between the frames to determine the least amount of operations to go from the previous frame to the new frame. This way, unchanged "tiles" in the terminal will not need to be redrawn and will not flicker.

@InDieTasten
Copy link
Owner Author

The existing canvas module can be repurposed for this. All rendering would have to be updated to work with the canvas api.

@InDieTasten InDieTasten self-assigned this Dec 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant