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

Use synchronized updates when rendering #2990

Closed
kchibisov opened this issue Jul 7, 2022 · 1 comment
Closed

Use synchronized updates when rendering #2990

kchibisov opened this issue Jul 7, 2022 · 1 comment
Labels
C-enhancement Category: Improvements R-duplicate Duplicated issue: please refer to the linked issue

Comments

@kchibisov
Copy link

kchibisov commented Jul 7, 2022

It looks like helix's rendering code happens in one place, since most of the drawing commands basically just enqueues.

Basically what should be done to make it work is sending DCS = 1 s (start) right before drawing and then DCS = 2 s (end) right after writing everything to pty. As a result screen updates from helix will be synchronized to terminal screen updates resulting in tearing/flicker free rendering.

As an example of terminals that support this could be tmux, iterm2, and alacritty. For tmux the Sync terminfo capability is required in controlling terminal to make it work.

For more look at https://gitlab.com/gnachman/iterm2/-/wikis/synchronized-updates-spec.

--

It seems like adding those 2 sequences to fn draw should work, since that's the only entry point for writing in pty in helix?

@kchibisov kchibisov added the C-enhancement Category: Improvements label Jul 7, 2022
@kirawi
Copy link
Member

kirawi commented Jul 7, 2022

Duplicate of #731?

@kirawi kirawi closed this as not planned Won't fix, can't repro, duplicate, stale Jul 7, 2022
@kirawi kirawi added the R-duplicate Duplicated issue: please refer to the linked issue label Jul 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category: Improvements R-duplicate Duplicated issue: please refer to the linked issue
Projects
None yet
Development

No branches or pull requests

2 participants