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 synchronized renders (CSI 2026) #11581

Closed
nilsherzig opened this issue Aug 26, 2024 · 2 comments
Closed

Implement synchronized renders (CSI 2026) #11581

nilsherzig opened this issue Aug 26, 2024 · 2 comments
Labels
C-enhancement Category: Improvements

Comments

@nilsherzig
Copy link

the problem

Cross post from zellij (terminal multiplexer).

zellij-org/zellij#3368

Using helix inside Zellij results in sometimes showing partly rendered pages "screen tearing", especially noticeable during actions which affect the whole screen, like changing files or themes. The original issue has a screen recording showing the problem.

possible solution

The latest comment on the original issue suggests implementing something called CSI 2026.

CSI explained, [quoted from this gist:

When rendering the screen of the terminal, the Emulator usually iterates through each visible grid cell and renders its current state. With applications updating the screen a at higher frequency this can cause tearing.

This mode attempts to mitigate that.

When the synchronization mode is enabled following render calls will keep rendering the last rendered state. The terminal Emulator keeps processing incoming text and sequences. When the synchronized update mode is disabled again the renderer may fetch the latest screen buffer state again, effectively avoiding the tearing effect by unintentionally rendering in the middle a of an application screen update.

@nilsherzig nilsherzig added the C-enhancement Category: Improvements label Aug 26, 2024
@the-mikedavis
Copy link
Member

Duplicate of #731

@the-mikedavis the-mikedavis marked this as a duplicate of #731 Aug 26, 2024
@the-mikedavis the-mikedavis closed this as not planned Won't fix, can't repro, duplicate, stale Aug 26, 2024
@nilsherzig
Copy link
Author

nilsherzig commented Aug 27, 2024

Oh, I'm sorry, I only searched for "synchronized renders" and csi.

Keep up the great work, i really enjoy helix, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: Improvements
Projects
None yet
Development

No branches or pull requests

3 participants
@the-mikedavis @nilsherzig and others