diff options
| author | 2022-10-08 18:27:40 -0400 | |
|---|---|---|
| committer | 2022-10-08 18:27:40 -0400 | |
| commit | 96324342438a5ce16ab9fbec6d8c17756ef166ff (patch) | |
| tree | 1432040192771049aec6170b4f6e63481dae86e6 /src/core/core_timing.cpp | |
| parent | Merge pull request #9016 from liamwhite/drunken-schedule (diff) | |
| download | yuzu-96324342438a5ce16ab9fbec6d8c17756ef166ff.tar.gz yuzu-96324342438a5ce16ab9fbec6d8c17756ef166ff.tar.xz yuzu-96324342438a5ce16ab9fbec6d8c17756ef166ff.zip | |
core_timing: use high-precision sleeps on non-Windows targets
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. |