Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
Divide::Time::FrameRateHandler Class Reference

#include <FrameRateHandler.h>

Public Member Functions

void tick (U64 deltaTimeUS) noexcept
 
F32 minFrameRate () const noexcept
 
F32 maxFrameRate () const noexcept
 
F32 frameRate () const noexcept
 
F32 frameTime () const noexcept
 
F32 averageFrameRate () const noexcept
 
void frameRateAndTime (F32 &fpsOut, F32 &frameTimeOut) const noexcept
 
void frameStates (F32 &avgFPSOut, F32 &minFPSOut, F32 &maxFPSOut) const noexcept
 

Private Attributes

std::array< F32, FRAME_ARRAY_SIZE_framerateSecPerFrame = {}
 
U32 _frameCount = 0u
 
F32 _minFPS = F32_MAX
 
F32 _maxFPS = F32_LOWEST
 
F32 _averageFPS = 0.f
 
F32 _previousElapsedSeconds = 0.f
 
F32 _framerate = 0.f
 
I32 _framerateSecPerFrameIdx = 0
 
F32 _framerateSecPerFrameAccum = 0.f
 

Static Private Attributes

static constexpr U32 FRAME_AVG_DELAY_COUNT = 5
 
static constexpr U32 FRAME_ARRAY_SIZE = 120
 
static constexpr U32 FRAME_AVG_RESET_COUNT = 60 * 5
 

Detailed Description

Definition at line 38 of file FrameRateHandler.h.

Member Function Documentation

◆ averageFrameRate()

F32 Divide::Time::FrameRateHandler::averageFrameRate ( ) const
inlinenoexcept

Definition at line 59 of file FrameRateHandler.inl.

◆ frameRate()

F32 Divide::Time::FrameRateHandler::frameRate ( ) const
inlinenoexcept

Definition at line 46 of file FrameRateHandler.inl.

◆ frameRateAndTime()

void Divide::Time::FrameRateHandler::frameRateAndTime ( F32 fpsOut,
F32 frameTimeOut 
) const
inlinenoexcept

Definition at line 54 of file FrameRateHandler.inl.

◆ frameStates()

void Divide::Time::FrameRateHandler::frameStates ( F32 avgFPSOut,
F32 minFPSOut,
F32 maxFPSOut 
) const
inlinenoexcept

Definition at line 63 of file FrameRateHandler.inl.

◆ frameTime()

F32 Divide::Time::FrameRateHandler::frameTime ( ) const
inlinenoexcept

Definition at line 50 of file FrameRateHandler.inl.

◆ maxFrameRate()

F32 Divide::Time::FrameRateHandler::maxFrameRate ( ) const
inlinenoexcept

Definition at line 42 of file FrameRateHandler.inl.

◆ minFrameRate()

F32 Divide::Time::FrameRateHandler::minFrameRate ( ) const
inlinenoexcept

Definition at line 38 of file FrameRateHandler.inl.

◆ tick()

void Divide::Time::FrameRateHandler::tick ( U64  deltaTimeUS)
noexcept

Definition at line 8 of file FrameRateHandler.cpp.

Member Data Documentation

◆ _averageFPS

F32 Divide::Time::FrameRateHandler::_averageFPS = 0.f
private

Definition at line 59 of file FrameRateHandler.h.

◆ _frameCount

U32 Divide::Time::FrameRateHandler::_frameCount = 0u
private

Definition at line 56 of file FrameRateHandler.h.

◆ _framerate

F32 Divide::Time::FrameRateHandler::_framerate = 0.f
private

Definition at line 61 of file FrameRateHandler.h.

◆ _framerateSecPerFrame

std::array<F32, FRAME_ARRAY_SIZE> Divide::Time::FrameRateHandler::_framerateSecPerFrame = {}
private

Definition at line 55 of file FrameRateHandler.h.

◆ _framerateSecPerFrameAccum

F32 Divide::Time::FrameRateHandler::_framerateSecPerFrameAccum = 0.f
private

Definition at line 63 of file FrameRateHandler.h.

◆ _framerateSecPerFrameIdx

I32 Divide::Time::FrameRateHandler::_framerateSecPerFrameIdx = 0
private

Definition at line 62 of file FrameRateHandler.h.

◆ _maxFPS

F32 Divide::Time::FrameRateHandler::_maxFPS = F32_LOWEST
private

Definition at line 58 of file FrameRateHandler.h.

◆ _minFPS

F32 Divide::Time::FrameRateHandler::_minFPS = F32_MAX
private

Definition at line 57 of file FrameRateHandler.h.

◆ _previousElapsedSeconds

F32 Divide::Time::FrameRateHandler::_previousElapsedSeconds = 0.f
private

Definition at line 60 of file FrameRateHandler.h.

◆ FRAME_ARRAY_SIZE

constexpr U32 Divide::Time::FrameRateHandler::FRAME_ARRAY_SIZE = 120
staticconstexprprivate

Definition at line 40 of file FrameRateHandler.h.

◆ FRAME_AVG_DELAY_COUNT

constexpr U32 Divide::Time::FrameRateHandler::FRAME_AVG_DELAY_COUNT = 5
staticconstexprprivate

Definition at line 39 of file FrameRateHandler.h.

◆ FRAME_AVG_RESET_COUNT

constexpr U32 Divide::Time::FrameRateHandler::FRAME_AVG_RESET_COUNT = 60 * 5
staticconstexprprivate

Definition at line 41 of file FrameRateHandler.h.


The documentation for this class was generated from the following files: