This is the documentation for Enlighten.

class Geo GeoFrameTime

class Geo::GeoFrameTime

    └>Geo::GeoSingleton< GeoFrameTime >

This class measures frame rate and also computes a running average of the last n frames.

It's designed as a singleton.

Variables

Name Description
tClass * m_Singleton = NULL

Pointer to the singleton instance or NULL if not started.

const float ms_DefaultFramerate

The framerate to return when there has not yet been enough samples.

const Geo::s32 ms_NumAverageFrames = 300

The number of frames to average over.

Functions

Name Description
~GeoFrameTime()

Destructor.

~GeoSingleton()

Destructor clears singleton pointer.

GeoFrameTime()

Constructor just sets up defaults.

GeoSingleton()

Constructor initialises singleton pointer.

Get()

Returns a pointer to the singleton instance.

GetAbsoluteTime()

Returns number of seconds since the beginning.

GetAverageFramesPerSecond()

Returns average of frame rate over a number of frames.

GetAverageFrameTime()

Returns frame time averaged over a number of frames.

GetConstFramerate()

Get the constant frame rate.

GetFrameNumber()

Returns number of update calls made.

GetFramesPerSecond()

Returns current frame rate.

GetFrameTime()

Returns length of last frame in seconds.

GetMaximumFrameTime()

Returns the maximum frame time over the same averaged period as GetAverageFrameTime()

IsAvailable()

Returns true if the singleton is available.

IsPaused()

Return true if we are paused.

IsRunningConstFramerate()

Find out if we're running with a constant frame rate.

NonCopyable(NonCopyable &&)

Defaulted to allow move.

operator=(NonCopyable &&)

Defaulted to allow move.

Pause(bool)

Pause the timer, handles nested pause calls but they are to be avoided.

SetConstFramerate(bool, float)

Enable/disable constant frame rate mode and set rate.

Start()

Setup the singleton instance.

Stop()

Release the singleton instance.

Update()

Update the frame time - increments frame number and calculates frame time as elapsed time since last call.


Geo::GeoFrameTime::~GeoFrameTime


public: ~GeoFrameTime()


Destructor.


Geo::GeoSingleton< tClass >::~GeoSingleton


protected: ~GeoSingleton()


Destructor clears singleton pointer.


Geo::GeoFrameTime::GeoFrameTime


public: GeoFrameTime()


Constructor just sets up defaults.


Geo::GeoSingleton< tClass >::GeoSingleton


protected: GeoSingleton()


Constructor initialises singleton pointer.


tClass * Geo::GeoSingleton< tClass >::Get


public: tClass * Get()


Returns a pointer to the singleton instance.


double Geo::GeoFrameTime::GetAbsoluteTime


public: double GetAbsoluteTime() const


Returns number of seconds since the beginning.


float Geo::GeoFrameTime::GetAverageFramesPerSecond


public: float GetAverageFramesPerSecond() const


Returns average of frame rate over a number of frames.


float Geo::GeoFrameTime::GetAverageFrameTime


public: float GetAverageFrameTime() const


Returns frame time averaged over a number of frames.


float Geo::GeoFrameTime::GetConstFramerate


public: float GetConstFramerate() const


Get the constant frame rate.


Geo::u32 Geo::GeoFrameTime::GetFrameNumber


public: Geo::u32 GetFrameNumber() const


Returns number of update calls made.


float Geo::GeoFrameTime::GetFramesPerSecond


public: float GetFramesPerSecond() const


Returns current frame rate.


float Geo::GeoFrameTime::GetFrameTime


public: float GetFrameTime() const


Returns length of last frame in seconds.


float Geo::GeoFrameTime::GetMaximumFrameTime


public: float GetMaximumFrameTime() const


Returns the maximum frame time over the same averaged period as GetAverageFrameTime()


bool Geo::GeoSingleton< tClass >::IsAvailable


public: bool IsAvailable()


Returns true if the singleton is available.


bool Geo::GeoFrameTime::IsPaused


public: bool IsPaused() const


Return true if we are paused.


bool Geo::GeoFrameTime::IsRunningConstFramerate


public: bool IsRunningConstFramerate() const


Find out if we're running with a constant frame rate.


Geo::NonCopyable::NonCopyable


public: NonCopyable
(
    NonCopyable &&
)


Defaulted to allow move.


NonCopyable& Geo::NonCopyable::operator=


public: NonCopyable & operator=
(
    NonCopyable &&
)


Defaulted to allow move.


Geo::s32 Geo::GeoFrameTime::Pause


public: Geo::s32 Pause
(
    bool pause
)


Pause the timer, handles nested pause calls but they are to be avoided.


void Geo::GeoFrameTime::SetConstFramerate


public: void SetConstFramerate
(
    bool enable,
    float rate
)


Enable/disable constant frame rate mode and set rate.


bool Geo::GeoSingleton< tClass >::Start


public: bool Start()


Setup the singleton instance.


void Geo::GeoSingleton< tClass >::Stop


public: void Stop()


Release the singleton instance.


void Geo::GeoFrameTime::Update


public: void Update()


Update the frame time - increments frame number and calculates frame time as elapsed time since last call.

It is assumed that this function is called at the beginning of every frame, so when it is called the first time the frame time is unknown, so it will return FrameNumber == 0, FrameTime == 1/ms_DefaultFramerate, Framerate = ms_DefaultFramerate and AbsoluteTime == 0.