Added microsecond precision to timers.

This commit is contained in:
Daviw Williams 2013-11-14 15:35:41 +01:00
parent 5294efc473
commit 3db5e1b2f6
2 changed files with 12 additions and 0 deletions

View File

@ -43,6 +43,7 @@ namespace PolyVox
float elapsedTimeInSeconds(void); float elapsedTimeInSeconds(void);
uint32_t elapsedTimeInMilliSeconds(void); uint32_t elapsedTimeInMilliSeconds(void);
uint32_t elapsedTimeInMicroSeconds(void);
private: private:
#if defined(_MSC_VER) #if defined(_MSC_VER)

View File

@ -67,6 +67,11 @@ namespace PolyVox
{ {
return static_cast<uint32_t>(elapsedTimeInSeconds() * 1000.0f); return static_cast<uint32_t>(elapsedTimeInSeconds() * 1000.0f);
} }
uint32_t Timer::elapsedTimeInMicroSeconds(void)
{
return static_cast<uint32_t>(elapsedTimeInSeconds() * 1000000.0f);
}
#else //_MSC_VER #else //_MSC_VER
Timer::Timer(bool bAutoStart) Timer::Timer(bool bAutoStart)
{ {
@ -92,5 +97,11 @@ namespace PolyVox
std::chrono::duration<float, std::milli> elapsed_milliseconds = clock::now() - m_start; std::chrono::duration<float, std::milli> elapsed_milliseconds = clock::now() - m_start;
return elapsed_milliseconds.count(); return elapsed_milliseconds.count();
} }
uint32_t Timer::elapsedTimeInMicroSeconds(void)
{
std::chrono::duration<float, std::micro> elapsed_microseconds = clock::now() - m_start;
return elapsed_microseconds.count();
}
#endif //_MSC_VER #endif //_MSC_VER
} }