feat: update mouse selection at user's refresh rate #5717
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.
Issue #, if available: #5716
Description of changes:
Rather than updating the mouse selection at a fixed interval of 20 milliseconds, I've changed it to use
event.nextFrame()
, which callsrequestAnimationFrame()
. This means that user selection is updated at their refresh rate, and thus results in a much smoother experience; this is especially noticeable on (but not limited to) high refresh-rate monitors.I did note that there are many places within Ace where this fixed magic number of 20 is used, rather than hooking into the animation loop - these could also be made smoother by making similar adjustments.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Pull Request Checklist:
ace.d.ts
) and its references: