#include <windows.h>
static DWORD gStartTime = 0;
static LARGE_INTEGER gPerfCtrFreq;
static LARGE_INTEGER gPerfCtrStart;
void initializeTimer(void)
{
QueryPerformanceFrequency(&gPerfCtrFreq);
QueryPerformanceCounter(&gPerfCtrStart);
gStartTime = getFrameTime();
}
int getFrameTime(void)
{
LARGE_INTEGER perfCtr;
__int64 millis;
unsigned int hiMillis, loMillis;
QueryPerformanceCounter(&perfCtr);
millis = (__int64)((perfCtr.QuadPart - gPerfCtrStart.QuadPart) * 1000.0 / gPerfCtrFreq.QuadPart);
hiMillis = (unsigned int)(millis >> 32);
loMillis = (unsigned int)millis;
return loMillis - gStartTime;
}