Niedawno zdecydowałem, że muszę zmienić użycie milisekund na mikrosekundy dla mojej klasy Timer, a po kilku badaniach zdecydowałem, że QueryPerformanceCounter jest prawdopodobnie moim najbezpieczniejszym zakładem. (Ostrzeżenie Boost::Posix
, że może nie działać na Win32 API, trochę mnie zraziło). Jednak nie jestem pewien, jak to zaimplementować.
To, co robię, to wywołanie dowolnej GetTicks()
funkcji esque, której używam i przypisanie jej do startingTicks
zmiennej Timera . Następnie, aby znaleźć ilość czasu, który upłynął, po prostu odejmuję wartość zwracaną przez funkcję od wartości startingTicks
, a kiedy resetuję licznik czasu, po prostu wywołuję funkcję ponownie i przypisuję do niej startTicks. Niestety, z kodu, który widziałem, nie jest tak proste, jak samo wywołanie QueryPerformanceCounter()
i nie jestem pewien, co mam podać jako jego argument.