$search
00001 00002 #include <blort/TomGine/tgTimer.h> 00003 00004 using namespace TomGine; 00005 00006 // *********************************************************************************** 00007 00008 tgTimer::tgTimer(void) { 00009 #ifdef WIN32 00010 QueryPerformanceFrequency((LARGE_INTEGER*) &m_Frequency); 00011 QueryPerformanceCounter((LARGE_INTEGER*)(&m_StartTicks)); 00012 m_EndTicks = m_StartTicks; 00013 #else 00014 clock_gettime(CLOCK_REALTIME, &AppStart); 00015 clock_gettime(CLOCK_REALTIME, &old); 00016 #endif 00017 m_fAppTime = 0.0; 00018 } 00019 00020 tgTimer::~tgTimer(void) { 00021 } 00022 00023 void tgTimer::Reset() { 00024 #ifdef WIN32 00025 QueryPerformanceFrequency((LARGE_INTEGER*) &m_Frequency); 00026 QueryPerformanceCounter((LARGE_INTEGER*)(&m_StartTicks)); 00027 m_EndTicks = m_StartTicks; 00028 #else 00029 clock_gettime(CLOCK_REALTIME, &AppStart); 00030 clock_gettime(CLOCK_REALTIME, &old); 00031 #endif 00032 m_fAppTime = 0.0; 00033 } 00034 00035 double tgTimer::Update() { 00036 #ifdef WIN32 00037 QueryPerformanceCounter((LARGE_INTEGER*)(&m_EndTicks)); 00038 fNow = (double)(m_EndTicks - m_StartTicks) / m_Frequency; 00039 m_fTime = fNow - m_fAppTime; 00040 m_fAppTime = fNow; 00041 #else 00042 clock_gettime(CLOCK_REALTIME, &act); 00043 m_fTime = (act.tv_sec - old.tv_sec) + (act.tv_nsec - old.tv_nsec) / 1e9; 00044 old = act; 00045 m_fAppTime += m_fTime; 00046 #endif 00047 return m_fTime; 00048 }