-
Notifications
You must be signed in to change notification settings - Fork 29.8k
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
A blocking process freezes entire ide. #11805
Comments
@NikosEfthias is this only happening with a large amount of output? I believe this is due to a perf regression when the scroll bar was introduced. If this is like the past performance issue then the keystrokes probably are being sent to the terminal, it's just taking too long for the renderer to catch up. |
this is only happening with a large loop without any pause doing something something like a=1
while [[ true ]]
do echo $((a++))
done this will freese the entire ide however in xterm it does not have any issue printing values and receiving interrupts |
xterm seems so snappy because it syncs the renderer with the shell process. A PR done to xterm.js (xtermjs/xterm.js#146) was put together to do this, however the side effect of it was that it took an enormous amount of time to print all the output due to each page of data having to be replicated in the DOM and displayed. So we ended up opting for running the actual process as fast as possible and capping the amount of data pushed to the DOM. The introduction of the scroll bar caused this to regress some though. Improvements to performance are still being explored in xtermjs/xterm.js#134 and xtermjs/xterm.js#150 |
can't puttting small delay between each node creation help something like 10 ms is difficult to feel as a user i think |
@NikosEfthias currently I think there's max 30 updates to the DOM per second, but all that text still needs to be processed. So the scroll bar added in 30 scroll events a second in addition to everything else which I'm guessing was enough to lock it up. |
Should be fixed by xtermjs/xterm.js#438 🎆 |
Fixed with all the performance improvements made this version, Insiders should be silky smooth. #17875 |
1.5.1
ubuntu 16.4
Steps to Reproduce:
The text was updated successfully, but these errors were encountered: