Browse Source

Fixed SleepLoopRenderTimer

pull/4691/head
Nikita Tsukanov 6 years ago
committed by Dan Walmsley
parent
commit
3608deeeb1
  1. 9
      src/Avalonia.Visuals/Rendering/SleepLoopRenderTimer.cs

9
src/Avalonia.Visuals/Rendering/SleepLoopRenderTimer.cs

@ -45,14 +45,13 @@ namespace Avalonia.Rendering
void LoopProc() void LoopProc()
{ {
var now = _st.Elapsed; var lastTick = _st.Elapsed;
var lastTick = now;
while (true) while (true)
{ {
var now = _st.Elapsed;
var timeTillNextTick = lastTick + _timeBetweenTicks - now; var timeTillNextTick = lastTick + _timeBetweenTicks - now;
if (timeTillNextTick.TotalMilliseconds > 1) Thread.Sleep(timeTillNextTick); if (timeTillNextTick.TotalMilliseconds > 1) Thread.Sleep(timeTillNextTick);
lastTick = now;
lock (_lock) lock (_lock)
{ {
if (_count == 0) if (_count == 0)
@ -63,7 +62,7 @@ namespace Avalonia.Rendering
} }
_tick?.Invoke(now); _tick?.Invoke(now);
now = _st.Elapsed;
} }
} }

Loading…
Cancel
Save