From 6487ba44fb195faae30d05de625fc12bbd2b9a17 Mon Sep 17 00:00:00 2001 From: RD42 <42702181+dashr9230@users.noreply.github.com> Date: Wed, 21 Aug 2024 22:50:11 +0800 Subject: [PATCH] [saco] Implement/match `GetElapsedTime()` --- saco/main.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/saco/main.cpp b/saco/main.cpp index 06bfd22..460d1e8 100644 --- a/saco/main.cpp +++ b/saco/main.cpp @@ -512,6 +512,40 @@ void SetStringFromQuotedCommandLine(char *szCmdLine, char *szString) } //---------------------------------------------------- + +float GetElapsedTime() +{ + static BOOL bTimerInit = false; + static BOOL bUsingOPF = false; + static LONGLONG nTicksPerSec = 0; + + if (!bTimerInit) + { + bTimerInit = true; + LARGE_INTEGER qwTicksPerSec; + bUsingOPF = QueryPerformanceFrequency(&qwTicksPerSec); + if (bUsingOPF) nTicksPerSec = qwTicksPerSec.QuadPart; + } + + if (bUsingOPF) + { + LARGE_INTEGER qwTime; + QueryPerformanceCounter(&qwTime); + static LONGLONG llLastTime = qwTime.QuadPart; + double fElapsedTime = (double)(qwTime.QuadPart - llLastTime) / (double) nTicksPerSec; + llLastTime = qwTime.QuadPart; + return (float)fElapsedTime; + } else { + double fTime = timeGetTime() * 0.001; + static double fLastTime = fTime; + double fElapsedTime = (double)(fTime - fLastTime); + fLastTime = fTime; + return (float)fElapsedTime; + } +} + +//---------------------------------------------------- + int GetFontSize() { int size;