diff --git a/Terminal.Gui/ConsoleDrivers/NetDriver.cs b/Terminal.Gui/ConsoleDrivers/NetDriver.cs index c6f7bc026..0b7985859 100644 --- a/Terminal.Gui/ConsoleDrivers/NetDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/NetDriver.cs @@ -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; } diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index ccc77044a..36f5dc82d 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -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}");