Rewritten cTimer not to use heap allocation.
This commit is contained in:
parent
cdd0eba1b5
commit
86eb71868b
@ -8,33 +8,30 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
cTimer::cTimer()
|
cTimer::cTimer(void)
|
||||||
#ifdef _WIN32
|
|
||||||
: m_TicksPerSecond( new LARGE_INTEGER )
|
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
QueryPerformanceFrequency( (LARGE_INTEGER*)m_TicksPerSecond );
|
QueryPerformanceFrequency(&m_TicksPerSecond);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
cTimer::~cTimer()
|
|
||||||
{
|
|
||||||
#ifdef _WIN32
|
|
||||||
delete (LARGE_INTEGER*)m_TicksPerSecond;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
long long cTimer::GetNowTime()
|
|
||||||
|
|
||||||
|
|
||||||
|
long long cTimer::GetNowTime(void)
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
LARGE_INTEGER now;
|
LARGE_INTEGER now;
|
||||||
QueryPerformanceCounter( &now );
|
QueryPerformanceCounter(&now);
|
||||||
LARGE_INTEGER & tps = *((LARGE_INTEGER*)m_TicksPerSecond);
|
return ((now.QuadPart * 1000) / m_TicksPerSecond.QuadPart);
|
||||||
return ((now.QuadPart*1000) / tps.QuadPart );
|
#else
|
||||||
#else
|
|
||||||
struct timeval now;
|
struct timeval now;
|
||||||
gettimeofday(&now, NULL);
|
gettimeofday(&now, NULL);
|
||||||
return (long long)(now.tv_sec*1000 + now.tv_usec/1000);
|
return (long long)(now.tv_sec * 1000 + now.tv_usec / 1000);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,15 +1,32 @@
|
|||||||
|
|
||||||
|
// Timer.h
|
||||||
|
|
||||||
|
// Declares the cTimer class representing an OS-independent of retrieving current time with msec accuracy
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class cTimer
|
class cTimer
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
cTimer();
|
cTimer(void);
|
||||||
~cTimer();
|
|
||||||
|
|
||||||
long long GetNowTime();
|
// Returns the current time expressed in milliseconds
|
||||||
|
long long GetNowTime(void);
|
||||||
private:
|
private:
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
void* m_TicksPerSecond; // LARGE_INTEGER*
|
LARGE_INTEGER m_TicksPerSecond;
|
||||||
#endif
|
#endif
|
||||||
};
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user