diff --git a/include/Spectre/Game/FPSCounter.h b/include/Spectre/Game/FPSCounter.h index 3c42141..9566fc2 100644 --- a/include/Spectre/Game/FPSCounter.h +++ b/include/Spectre/Game/FPSCounter.h @@ -2,7 +2,7 @@ #ifndef SPECTRE_FPS_COUNTER_H #define SPECTRE_FPS_COUNTER_H -#include +#include // Simple FPS counter. @@ -35,7 +35,8 @@ private : unsigned int m_count; // Last time we updated the counter. - Time m_time; + //Time m_time; + Stopwatch m_watch; // Update rate (at what interval should we update) Time m_updateRate; diff --git a/source/Game/FPSCounter.cpp b/source/Game/FPSCounter.cpp index c4212a4..70b713c 100644 --- a/source/Game/FPSCounter.cpp +++ b/source/Game/FPSCounter.cpp @@ -36,14 +36,12 @@ void FPSCounter::setUpdateRate(unsigned int rate) bool FPSCounter::update() { - Time current = Time::milliseconds(system::getMilliseconds()); - Time elapsed = current - m_time; + Time elapsed = m_watch.elapsed(); if (elapsed >= m_updateRate) { m_fps = m_count / elapsed.seconds(); - m_time = current; - m_count = 0; + reset(); return true; } return false; @@ -51,7 +49,7 @@ bool FPSCounter::update() void FPSCounter::reset() { - m_time = Time::milliseconds(system::getMilliseconds()); + m_watch.restart(); m_count = 0; }