9 const F32 elapsedSeconds = Time::MicrosecondsToSeconds<F32>(deltaTimeUS);
10 const F32 deltaSeconds = elapsedSeconds - _previousElapsedSeconds;
11 _framerateSecPerFrameAccum += deltaSeconds - _framerateSecPerFrame[_framerateSecPerFrameIdx];
12 _framerateSecPerFrame[_framerateSecPerFrameIdx] = deltaSeconds;
13 _framerateSecPerFrameIdx = (_framerateSecPerFrameIdx + 1) % FRAME_ARRAY_SIZE;
14 _framerate = 1.0f / (_framerateSecPerFrameAccum /
to_F32(FRAME_ARRAY_SIZE));
15 _previousElapsedSeconds = elapsedSeconds;
17 _averageFPS += _framerate;
19 if (_frameCount > FRAME_AVG_DELAY_COUNT) {
20 _maxFPS = std::max(_framerate, _maxFPS);
21 _minFPS = std::min(_framerate, _minFPS);
25 if (++_frameCount > FRAME_AVG_RESET_COUNT) {
void tick(U64 deltaTimeUS) noexcept
constexpr F32 to_F32(const T value)