Rewritten cTimer not to use heap allocation.
This commit is contained in:
parent
cdd0eba1b5
commit
86eb71868b
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -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
|
||||
};
|
||||
#ifdef _WIN32
|
||||
LARGE_INTEGER m_TicksPerSecond;
|
||||
#endif
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user