From bfb5244cf8c600e6444d8590c8850ec31779bc6c Mon Sep 17 00:00:00 2001 From: Fernando Sahmkow Date: Thu, 2 Apr 2020 13:27:08 -0400 Subject: CoreTiming/CycleTimer: Correct Idling. --- src/core/core_timing.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/core/core_timing.cpp') diff --git a/src/core/core_timing.cpp b/src/core/core_timing.cpp index 12e9e60a4..b02119494 100644 --- a/src/core/core_timing.cpp +++ b/src/core/core_timing.cpp @@ -136,8 +136,11 @@ void CoreTiming::AddTicks(u64 ticks) { void CoreTiming::Idle() { if (!event_queue.empty()) { - u64 next_event_time = event_queue.front().time; - ticks = nsToCycles(std::chrono::nanoseconds(next_event_time)) + 10U; + const u64 next_event_time = event_queue.front().time; + const u64 next_ticks = nsToCycles(std::chrono::nanoseconds(next_event_time)) + 10U; + if (next_ticks > ticks) { + ticks = next_ticks; + } return; } ticks += 1000U; -- cgit v1.2.3