Introduce refresh on autocmd again #1420
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The basic idea is that we don't process refresh events just as they come. We queue them and process them every certain time quantum (by default 60fps). Under this, previous timers as well as autocmds all become refresh events. The event queue should be empty 99% of the time, there's a quick check for that. So, although this check is being performed quite often performance impact shouldn't be negligible. This should hopefully let us have a snappy experience with fewer refreshes, without flicker.
Todo:
fixes #1358