diff options
-rw-r--r-- | source/OSSupport/Timer.cpp | 45 | ||||
-rw-r--r-- | source/OSSupport/Timer.h | 31 |
2 files changed, 45 insertions, 31 deletions
diff --git a/source/OSSupport/Timer.cpp b/source/OSSupport/Timer.cpp index ab7325b5e..ed16f9e3a 100644 --- a/source/OSSupport/Timer.cpp +++ b/source/OSSupport/Timer.cpp @@ -8,33 +8,30 @@ -cTimer::cTimer() -#ifdef _WIN32 - : m_TicksPerSecond( new LARGE_INTEGER ) -#endif +cTimer::cTimer(void) { -#ifdef _WIN32 - QueryPerformanceFrequency( (LARGE_INTEGER*)m_TicksPerSecond ); -#endif + #ifdef _WIN32 + QueryPerformanceFrequency(&m_TicksPerSecond); + #endif } -cTimer::~cTimer() + + + + +long long cTimer::GetNowTime(void) { -#ifdef _WIN32 - delete (LARGE_INTEGER*)m_TicksPerSecond; -#endif + #ifdef _WIN32 + LARGE_INTEGER now; + QueryPerformanceCounter(&now); + return ((now.QuadPart * 1000) / m_TicksPerSecond.QuadPart); + #else + struct timeval now; + gettimeofday(&now, NULL); + return (long long)(now.tv_sec * 1000 + now.tv_usec / 1000); + #endif } -long long cTimer::GetNowTime() -{ -#ifdef _WIN32 - LARGE_INTEGER now; - QueryPerformanceCounter( &now ); - LARGE_INTEGER & tps = *((LARGE_INTEGER*)m_TicksPerSecond); - return ((now.QuadPart*1000) / tps.QuadPart ); -#else - struct timeval now; - gettimeofday(&now, NULL); - return (long long)(now.tv_sec*1000 + now.tv_usec/1000); -#endif -}
\ No newline at end of file + + + diff --git a/source/OSSupport/Timer.h b/source/OSSupport/Timer.h index 5969d0fc9..a059daa41 100644 --- a/source/OSSupport/Timer.h +++ b/source/OSSupport/Timer.h @@ -1,15 +1,32 @@ + +// Timer.h + +// Declares the cTimer class representing an OS-independent of retrieving current time with msec accuracy + + + + + #pragma once + + + + class cTimer { public: - cTimer(); - ~cTimer(); + cTimer(void); - long long GetNowTime(); + // Returns the current time expressed in milliseconds + long long GetNowTime(void); private: -#ifdef _WIN32 - void* m_TicksPerSecond; // LARGE_INTEGER* -#endif -};
\ No newline at end of file + #ifdef _WIN32 + LARGE_INTEGER m_TicksPerSecond; + #endif +} ; + + + + |