mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-15 09:25:37 +02:00
Add varying levels of precision to TimeTaker
This commit is contained in:
@@ -23,19 +23,20 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include "../log.h"
|
||||
#include <ostream>
|
||||
|
||||
TimeTaker::TimeTaker(const char *name, u32 *result)
|
||||
TimeTaker::TimeTaker(const char *name, u32 *result, TimePrecision prec)
|
||||
{
|
||||
m_name = name;
|
||||
m_result = result;
|
||||
m_running = true;
|
||||
m_time1 = getTimeMs();
|
||||
m_precision = prec;
|
||||
m_time1 = getTime(prec);
|
||||
}
|
||||
|
||||
u32 TimeTaker::stop(bool quiet)
|
||||
{
|
||||
if(m_running)
|
||||
{
|
||||
u32 time2 = getTimeMs();
|
||||
u32 time2 = getTime(m_precision);
|
||||
u32 dtime = time2 - m_time1;
|
||||
if(m_result != NULL)
|
||||
{
|
||||
@@ -52,9 +53,9 @@ u32 TimeTaker::stop(bool quiet)
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 TimeTaker::getTime()
|
||||
u32 TimeTaker::getTimerTime()
|
||||
{
|
||||
u32 time2 = getTimeMs();
|
||||
u32 time2 = getTime(m_precision);
|
||||
u32 dtime = time2 - m_time1;
|
||||
return dtime;
|
||||
}
|
||||
|
@@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#define UTIL_TIMETAKER_HEADER
|
||||
|
||||
#include "../irrlichttypes.h"
|
||||
#include "../gettime.h"
|
||||
|
||||
/*
|
||||
TimeTaker
|
||||
@@ -29,7 +30,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
class TimeTaker
|
||||
{
|
||||
public:
|
||||
TimeTaker(const char *name, u32 *result=NULL);
|
||||
TimeTaker(const char *name, u32 *result=NULL,
|
||||
TimePrecision=PRECISION_MILLI);
|
||||
|
||||
~TimeTaker()
|
||||
{
|
||||
@@ -38,12 +40,13 @@ public:
|
||||
|
||||
u32 stop(bool quiet=false);
|
||||
|
||||
u32 getTime();
|
||||
u32 getTimerTime();
|
||||
|
||||
private:
|
||||
const char *m_name;
|
||||
u32 m_time1;
|
||||
bool m_running;
|
||||
TimePrecision m_precision;
|
||||
u32 *m_result;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user