Explorar el Código

Merge pull request #9040 from liamwhite/woe-thirty-two

core_timing: use high-precision sleeps on non-Windows targets
bunnei hace 3 años
padre
commit
0b9f2c2f14
Se han modificado 1 ficheros con 4 adiciones y 0 borrados
  1. 4 0
      src/core/core_timing.cpp

+ 4 - 0
src/core/core_timing.cpp

@@ -270,6 +270,7 @@ void CoreTiming::ThreadLoop() {
                 // There are more events left in the queue, wait until the next event.
                 const auto wait_time = *next_time - GetGlobalTimeNs().count();
                 if (wait_time > 0) {
+#ifdef _WIN32
                     // Assume a timer resolution of 1ms.
                     static constexpr s64 TimerResolutionNS = 1000000;
 
@@ -287,6 +288,9 @@ void CoreTiming::ThreadLoop() {
                     if (event.IsSet()) {
                         event.Reset();
                     }
+#else
+                    event.WaitFor(std::chrono::nanoseconds(wait_time));
+#endif
                 }
             } else {
                 // Queue is empty, wait until another event is scheduled and signals us to continue.