
- Removed unnecessary ptr casts to ints to allow to compile on 64bits systems. - Added custom and portable qsort_r. - Use gettimeofday() as performance timer on unix/bsd/osx - Moved variables from rcCompactSpan to separate arrays.
43 lines
712 B
C++
43 lines
712 B
C++
#include "RecastTimer.h"
|
|
|
|
#if defined(WIN32)
|
|
|
|
// Win32
|
|
#include <windows.h>
|
|
|
|
rcTimeVal rcGetPerformanceTimer()
|
|
{
|
|
__int64 count;
|
|
QueryPerformanceCounter((LARGE_INTEGER*)&count);
|
|
return count;
|
|
}
|
|
|
|
int rcGetDeltaTimeUsec(rcTimeVal start, rcTimeVal end)
|
|
{
|
|
static __int64 freq = 0;
|
|
if (freq == 0)
|
|
QueryPerformanceFrequency((LARGE_INTEGER*)&freq);
|
|
__int64 elapsed = end - start;
|
|
return (int)(elapsed*1000000 / freq);
|
|
}
|
|
|
|
#else
|
|
|
|
// Linux, BSD, OSX
|
|
|
|
#include <sys/time.h>
|
|
|
|
rcTimeVal rcGetPerformanceTimer()
|
|
{
|
|
timeval now;
|
|
gettimeofday(&now, NULL);
|
|
return (rcTimeVal)now.tv_sec*1000000L + (rcTimeVal)now.tv_usec;
|
|
}
|
|
|
|
int rcGetDeltaTimeUsec(rcTimeVal start, rcTimeVal end)
|
|
{
|
|
return (int)(end - start);
|
|
}
|
|
|
|
#endif
|