-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
REPL: try to coalesce screen updates #39538
Conversation
When input is arriving too fast, delay computing and rendering the full screen until a short delay after typing stops.
Test failure here is a timeout |
FWIW, the timeout is an ArgTools bug (#39544), and I'm currently trying to find a way to work around that, as it is depending on a posixism, but a seemingly fairly reasonable one. |
I'm not a huge fan of the REPL just kicking off time-based work since it makes things somewhat unpredictable. I don't suppose Windows tells us if there's any more characters coming? That said, this is probably fine, since we'll always call |
yeah, short of inverting this entirely to an MVC-style app, I tried to be careful here to complete the render if demanded
We probably already have them in the read buffer, and we'll process them ASAP? But that is quite nearly what this PR is exactly doing: checking to see if more characters are about to arrive before pushing a more expensive re-render. |
When input is arriving too fast, delay computing and rendering the full screen until a short delay after typing stops.
When input is arriving too fast, delay computing and rendering the full screen until a short delay after typing stops.
When input is arriving too fast, delay computing and rendering the full
screen until a short delay after typing stops. In particular, during testing,
this helped allow pasting into Windows consoles run at near full speed
with less excessive screen tearing.