diff options
Diffstat (limited to 'src/core/core_timing.cpp')
| -rw-r--r-- | src/core/core_timing.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/core_timing.cpp b/src/core/core_timing.cpp index cd4df4522..4f2692b05 100644 --- a/src/core/core_timing.cpp +++ b/src/core/core_timing.cpp | |||
| @@ -10,6 +10,10 @@ | |||
| 10 | #include "common/windows/timer_resolution.h" | 10 | #include "common/windows/timer_resolution.h" |
| 11 | #endif | 11 | #endif |
| 12 | 12 | ||
| 13 | #ifdef ARCHITECTURE_x86_64 | ||
| 14 | #include "common/x64/cpu_wait.h" | ||
| 15 | #endif | ||
| 16 | |||
| 13 | #include "common/microprofile.h" | 17 | #include "common/microprofile.h" |
| 14 | #include "core/core_timing.h" | 18 | #include "core/core_timing.h" |
| 15 | #include "core/core_timing_util.h" | 19 | #include "core/core_timing_util.h" |
| @@ -269,7 +273,11 @@ void CoreTiming::ThreadLoop() { | |||
| 269 | if (wait_time >= timer_resolution_ns) { | 273 | if (wait_time >= timer_resolution_ns) { |
| 270 | Common::Windows::SleepForOneTick(); | 274 | Common::Windows::SleepForOneTick(); |
| 271 | } else { | 275 | } else { |
| 276 | #ifdef ARCHITECTURE_x86_64 | ||
| 277 | Common::X64::MicroSleep(); | ||
| 278 | #else | ||
| 272 | std::this_thread::yield(); | 279 | std::this_thread::yield(); |
| 280 | #endif | ||
| 273 | } | 281 | } |
| 274 | } | 282 | } |
| 275 | 283 | ||