40 lines
705 B
C++
40 lines
705 B
C++
|
|
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
|
|
|
#include "Timer.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cTimer::cTimer()
|
|
#ifdef _WIN32
|
|
: m_TicksPerSecond( new LARGE_INTEGER )
|
|
#endif
|
|
{
|
|
#ifdef _WIN32
|
|
QueryPerformanceFrequency( (LARGE_INTEGER*)m_TicksPerSecond );
|
|
#endif
|
|
}
|
|
|
|
cTimer::~cTimer()
|
|
{
|
|
#ifdef _WIN32
|
|
delete (LARGE_INTEGER*)m_TicksPerSecond;
|
|
#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
|
|
} |