Common (Windows): improves performance of ffTimeGetTick

This commit is contained in:
李通洲
2026-01-12 14:29:49 +08:00
parent fd3c87abe7
commit 2f1e37bb7c
2 changed files with 12 additions and 3 deletions
+4
View File
@@ -81,3 +81,7 @@ FFTimeGetAgeResult ffTimeGetAge(uint64_t birthMs, uint64_t nowMs)
return result;
}
#ifdef _WIN32
double ffQpcMultiplier;
#endif
+8 -3
View File
@@ -15,11 +15,16 @@
static inline double ffTimeGetTick(void) //In msec
{
#ifdef _WIN32
LARGE_INTEGER frequency;
QueryPerformanceFrequency(&frequency);
extern double ffQpcMultiplier;
if (ffQpcMultiplier == 0)
{
LARGE_INTEGER frequency;
QueryPerformanceFrequency(&frequency);
ffQpcMultiplier = 1000. / (double) frequency.QuadPart;
}
LARGE_INTEGER start;
QueryPerformanceCounter(&start);
return (double) start.QuadPart * 1000 / (double) frequency.QuadPart;
return (double) start.QuadPart * ffQpcMultiplier;
#elif defined(__HAIKU__)
return (double) system_time() / 1000.;
#else