You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lunarium_OLD/src/utils/HighResTimer.cpp

43 lines
1.2 KiB
C++

/******************************************************************************
* Filename: HighResTimer.cpp
* Date: 12/06/2010
* Mod. Date: 03/21/2018
* Author: Joseph R. Pollack
* Purpose: A high resolution timer suitable for profiling code. This new
* version has stripped out the game specific functionality and
* does not include windows.h in the header.
******************************************************************************/
#include "HighResTimer.h"
using std::chrono::high_resolution_clock;
using std::chrono::duration;
using std::chrono::duration_cast;
using std::chrono::microseconds;
namespace Lunarium
{
// Starts or re-starts the timer.
void HighResTimer::Reset()
{
mStartTime = high_resolution_clock::now();
}
// Returns the amount of time in microseconds since the last Reset() call.
int64_t HighResTimer::GetElapsedMicros()
{
auto endTime = high_resolution_clock::now();
auto micros = duration_cast<microseconds>(endTime - mStartTime);
return micros.count();
}
double HighResTimer::GetElapsedSeconds()
{
auto endTime = high_resolution_clock::now();
duration<double> s = endTime - mStartTime;
return s.count();
}
}