summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd/osdcore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/osd/osdcore.cpp')
-rw-r--r--src/osd/osdcore.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/osd/osdcore.cpp b/src/osd/osdcore.cpp
index fd696706e6b..51a9aaf207c 100644
--- a/src/osd/osdcore.cpp
+++ b/src/osd/osdcore.cpp
@@ -139,7 +139,13 @@ void osd_vprintf_debug(util::format_argument_pack<std::ostream> const &args)
osd_ticks_t osd_ticks()
{
+#ifdef WIN32
+ LARGE_INTEGER val;
+ QueryPerformanceCounter(&val);
+ return val.QuadPart;
+#else
return std::chrono::high_resolution_clock::now().time_since_epoch().count();
+#endif
}
@@ -149,7 +155,13 @@ osd_ticks_t osd_ticks()
osd_ticks_t osd_ticks_per_second()
{
+#ifdef WIN32
+ LARGE_INTEGER val;
+ QueryPerformanceFrequency(&val);
+ return val.QuadPart;
+#else
return std::chrono::high_resolution_clock::period::den / std::chrono::high_resolution_clock::period::num;
+#endif
}
//============================================================