diff options
Diffstat (limited to 'src/core/core_timing.cpp')
| -rw-r--r-- | src/core/core_timing.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/core_timing.cpp b/src/core/core_timing.cpp index 6c0fcb7b5..2678ce532 100644 --- a/src/core/core_timing.cpp +++ b/src/core/core_timing.cpp | |||
| @@ -270,6 +270,7 @@ void CoreTiming::ThreadLoop() { | |||
| 270 | // There are more events left in the queue, wait until the next event. | 270 | // There are more events left in the queue, wait until the next event. |
| 271 | const auto wait_time = *next_time - GetGlobalTimeNs().count(); | 271 | const auto wait_time = *next_time - GetGlobalTimeNs().count(); |
| 272 | if (wait_time > 0) { | 272 | if (wait_time > 0) { |
| 273 | #ifdef _WIN32 | ||
| 273 | // Assume a timer resolution of 1ms. | 274 | // Assume a timer resolution of 1ms. |
| 274 | static constexpr s64 TimerResolutionNS = 1000000; | 275 | static constexpr s64 TimerResolutionNS = 1000000; |
| 275 | 276 | ||
| @@ -287,6 +288,9 @@ void CoreTiming::ThreadLoop() { | |||
| 287 | if (event.IsSet()) { | 288 | if (event.IsSet()) { |
| 288 | event.Reset(); | 289 | event.Reset(); |
| 289 | } | 290 | } |
| 291 | #else | ||
| 292 | event.WaitFor(std::chrono::nanoseconds(wait_time)); | ||
| 293 | #endif | ||
| 290 | } | 294 | } |
| 291 | } else { | 295 | } else { |
| 292 | // Queue is empty, wait until another event is scheduled and signals us to continue. | 296 | // Queue is empty, wait until another event is scheduled and signals us to continue. |