summaryrefslogtreecommitdiff
path: root/src/common/wall_clock.cpp
diff options
context:
space:
mode:
authorMorph <39850852+Morph1984@users.noreply.github.com>2023-03-01 21:06:19 -0500
committerMorph <39850852+Morph1984@users.noreply.github.com>2023-03-05 02:36:31 -0500
commitbff14532825e7517882ca913738347059f73cf7f (patch)
treef21f509d4c7458a79e2fc399c1de3036a7efd51d /src/common/wall_clock.cpp
parent7e353082ac79bef59d48602f9196cf804d3dfc4f (diff)
core_timing: Use higher precision sleeps on Windows
The precision of sleep_for and wait_for is limited to 1-1.5ms on Windows. Using SleepForOneTick() allows us to sleep for exactly one interval of the current timer resolution. This allows us to take advantage of systems that have a timer resolution of 0.5ms to reduce CPU overhead in the event loop.
Diffstat (limited to 'src/common/wall_clock.cpp')
-rw-r--r--src/common/wall_clock.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/common/wall_clock.cpp b/src/common/wall_clock.cpp
index 6d972d136..817e71d52 100644
--- a/src/common/wall_clock.cpp
+++ b/src/common/wall_clock.cpp
@@ -81,4 +81,9 @@ std::unique_ptr<WallClock> CreateBestMatchingClock(u64 emulated_cpu_frequency,
#endif
+std::unique_ptr<WallClock> CreateStandardWallClock(u64 emulated_cpu_frequency,
+ u64 emulated_clock_frequency) {
+ return std::make_unique<StandardWallClock>(emulated_cpu_frequency, emulated_clock_frequency);
+}
+
} // namespace Common