Use Task.Delay instead of Thread.Sleep for resize polling. From #2731.

This commit is contained in:
Tig Kindel
2023-07-12 07:59:29 -07:00
committed by Tig
parent 2242f38409
commit 645b93d648
2 changed files with 5 additions and 3 deletions

View File

@@ -223,8 +223,9 @@ namespace Terminal.Gui {
void WaitWinChange ()
{
while (true) {
// HACK: Sleep for 10ms to mitigate high CPU usage (see issue #1502). 10ms was tested to address the problem, but may not be correct.
Thread.Sleep (10);
// Wait for a while then check if screen has changed sizes
Task.Delay (500).Wait ();
if (stopTasks) {
return;
}

View File

@@ -1917,7 +1917,8 @@ namespace Terminal.Gui {
void WaitWinChange ()
{
while (true) {
Thread.Sleep (100);
// Wait for a while then check if screen has changed sizes
Task.Delay (500).Wait ();
if (!consoleDriver.EnableConsoleScrolling) {
windowSize = winConsole.GetConsoleBufferWindow (out _);
//System.Diagnostics.Debug.WriteLine ($"{consoleDriver.EnableConsoleScrolling},{windowSize.Width},{windowSize.Height}");