Open CASCADE Technology  7.4.0
Public Member Functions | Protected Member Functions | Protected Attributes
Graphic3d_FrameStats Class Referenceabstract

Class storing the frame statistics. More...

#include <Graphic3d_FrameStats.hxx>

Inheritance diagram for Graphic3d_FrameStats:
Inheritance graph
[legend]

Public Member Functions

 Graphic3d_FrameStats ()
 Default constructor. More...
 
virtual ~Graphic3d_FrameStats ()
 Destructor. More...
 
Standard_Real UpdateInterval () const
 Returns interval in seconds for updating meters across several frames; 1 second by default. More...
 
void SetUpdateInterval (Standard_Real theInterval)
 Sets interval in seconds for updating values. More...
 
Standard_Boolean IsLongLineFormat () const
 Prefer longer lines over more greater of lines. More...
 
void SetLongLineFormat (Standard_Boolean theValue)
 Set if format should prefer longer lines over greater number of lines. More...
 
virtual void FrameStart (const Handle< Graphic3d_CView > &theView, bool theIsImmediateOnly)
 Frame redraw started. More...
 
virtual void FrameEnd (const Handle< Graphic3d_CView > &theView, bool theIsImmediateOnly)
 Frame redraw finished. More...
 
virtual TCollection_AsciiString FormatStats (Graphic3d_RenderingParams::PerfCounters theFlags) const
 Returns formatted string. More...
 
virtual void FormatStats (TColStd_IndexedDataMapOfStringString &theDict, Graphic3d_RenderingParams::PerfCounters theFlags) const
 Fill in the dictionary with formatted statistic info. More...
 
Standard_Real FrameDuration () const
 Returns duration of the last frame in seconds. More...
 
Standard_Real FrameRate () const
 Returns FPS (frames per seconds, elapsed time). This number indicates an actual frame rate averaged for several frames within UpdateInterval() duration, basing on a real elapsed time between updates. More...
 
Standard_Real FrameRateCpu () const
 Returns CPU FPS (frames per seconds, CPU time). This number indicates a PREDICTED frame rate, basing on CPU elapsed time between updates and NOT real elapsed time (which might include periods of CPU inactivity). Number is expected to be greater then actual frame rate returned by FrameRate(). Values significantly greater actual frame rate indicate that rendering is limited by GPU performance (CPU is stalled in-between), while values around actual frame rate indicate rendering being limited by CPU performance (GPU is stalled in-between). More...
 
Standard_Size CounterValue (Graphic3d_FrameStatsCounter theCounter) const
 Returns value of specified counter, cached between stats updates. Should NOT be called between ::FrameStart() and ::FrameEnd() calls. More...
 
Standard_Real TimerValue (Graphic3d_FrameStatsTimer theTimer) const
 Returns value of specified timer for modification, should be called between ::FrameStart() and ::FrameEnd() calls. Should NOT be called between ::FrameStart() and ::FrameEnd() calls. More...
 
Standard_Boolean HasCulledLayers () const
 Returns TRUE if some Layers have been culled. More...
 
Standard_Boolean HasCulledStructs () const
 Returns TRUE if some structures have been culled. More...
 
const Graphic3d_FrameStatsDataLastDataFrame () const
 Returns last data frame, cached between stats updates. Should NOT be called between ::FrameStart() and ::FrameEnd() calls. More...
 
Standard_Integer LastDataFrameIndex () const
 Returns last data frame index. More...
 
const NCollection_Array1< Graphic3d_FrameStatsData > & DataFrames () const
 Returns data frames. More...
 
NCollection_Array1< Graphic3d_FrameStatsData > & ChangeDataFrames ()
 Returns data frames. More...
 
Standard_SizeChangeCounter (Graphic3d_FrameStatsCounter theCounter)
 Returns value of specified counter for modification, should be called between ::FrameStart() and ::FrameEnd() calls. More...
 
Standard_RealChangeTimer (Graphic3d_FrameStatsTimer theTimer)
 Returns value of specified timer for modification, should be called between ::FrameStart() and ::FrameEnd() calls. More...
 
Graphic3d_FrameStatsDataTmpActiveDataFrame ()
 Returns currently filling data frame for modification, should be called between ::FrameStart() and ::FrameEnd() calls. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object. More...
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type. More...
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName. More...
 
Standard_Boolean IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More...
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 
void IncrementRefCounter () const
 Increments the reference counter of this object. More...
 
Standard_Integer DecrementRefCounter () const
 Decrements the reference counter of this object; returns the decremented value. More...
 

Protected Member Functions

virtual void updateStatistics (const Handle< Graphic3d_CView > &theView, bool theIsImmediateOnly)=0
 Method to collect statistics from the View; called by FrameEnd(). More...
 

Protected Attributes

OSD_Timer myFpsTimer
 timer for FPS measurements More...
 
Standard_Real myFrameStartTime
 time at the beginning of frame redraw More...
 
Standard_Real myFrameDuration
 frame duration More...
 
Standard_Real myUpdateInterval
 interval to update meters More...
 
Standard_Size myFpsFrameCount
 FPS counter (within short measurement time slice) More...
 
NCollection_Array1< Graphic3d_FrameStatsDatamyCounters
 data frames history More...
 
Graphic3d_FrameStatsDataTmp myCountersTmp
 data frame values filled to be filled between FrameStart() and FrameEnd() calls More...
 
Graphic3d_FrameStatsData myCountersMax
 data frame values with absolute maximum values in the history More...
 
Standard_Integer myLastFrameIndex
 last data frame index More...
 
Standard_Boolean myIsLongLineFormat
 prefer longer lines over greater number of lines More...
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object. More...
 
- Static Public Member Functions inherited from Standard_Transient
static const char * get_type_name ()
 Returns a type descriptor about this object. More...
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class. More...
 

Detailed Description

Class storing the frame statistics.

Constructor & Destructor Documentation

◆ Graphic3d_FrameStats()

Graphic3d_FrameStats::Graphic3d_FrameStats ( )

Default constructor.

◆ ~Graphic3d_FrameStats()

virtual Graphic3d_FrameStats::~Graphic3d_FrameStats ( )
virtual

Destructor.

Member Function Documentation

◆ ActiveDataFrame()

Graphic3d_FrameStatsDataTmp& Graphic3d_FrameStats::ActiveDataFrame ( )
inline

Returns currently filling data frame for modification, should be called between ::FrameStart() and ::FrameEnd() calls.

◆ ChangeCounter()

Standard_Size& Graphic3d_FrameStats::ChangeCounter ( Graphic3d_FrameStatsCounter  theCounter)
inline

Returns value of specified counter for modification, should be called between ::FrameStart() and ::FrameEnd() calls.

◆ ChangeDataFrames()

NCollection_Array1<Graphic3d_FrameStatsData>& Graphic3d_FrameStats::ChangeDataFrames ( )
inline

Returns data frames.

◆ ChangeTimer()

Standard_Real& Graphic3d_FrameStats::ChangeTimer ( Graphic3d_FrameStatsTimer  theTimer)
inline

Returns value of specified timer for modification, should be called between ::FrameStart() and ::FrameEnd() calls.

◆ CounterValue()

Standard_Size Graphic3d_FrameStats::CounterValue ( Graphic3d_FrameStatsCounter  theCounter) const
inline

Returns value of specified counter, cached between stats updates. Should NOT be called between ::FrameStart() and ::FrameEnd() calls.

◆ DataFrames()

const NCollection_Array1<Graphic3d_FrameStatsData>& Graphic3d_FrameStats::DataFrames ( ) const
inline

Returns data frames.

◆ FormatStats() [1/2]

virtual TCollection_AsciiString Graphic3d_FrameStats::FormatStats ( Graphic3d_RenderingParams::PerfCounters  theFlags) const
virtual

Returns formatted string.

◆ FormatStats() [2/2]

virtual void Graphic3d_FrameStats::FormatStats ( TColStd_IndexedDataMapOfStringString theDict,
Graphic3d_RenderingParams::PerfCounters  theFlags 
) const
virtual

Fill in the dictionary with formatted statistic info.

◆ FrameDuration()

Standard_Real Graphic3d_FrameStats::FrameDuration ( ) const
inline

Returns duration of the last frame in seconds.

◆ FrameEnd()

virtual void Graphic3d_FrameStats::FrameEnd ( const Handle< Graphic3d_CView > &  theView,
bool  theIsImmediateOnly 
)
virtual

Frame redraw finished.

◆ FrameRate()

Standard_Real Graphic3d_FrameStats::FrameRate ( ) const
inline

Returns FPS (frames per seconds, elapsed time). This number indicates an actual frame rate averaged for several frames within UpdateInterval() duration, basing on a real elapsed time between updates.

◆ FrameRateCpu()

Standard_Real Graphic3d_FrameStats::FrameRateCpu ( ) const
inline

Returns CPU FPS (frames per seconds, CPU time). This number indicates a PREDICTED frame rate, basing on CPU elapsed time between updates and NOT real elapsed time (which might include periods of CPU inactivity). Number is expected to be greater then actual frame rate returned by FrameRate(). Values significantly greater actual frame rate indicate that rendering is limited by GPU performance (CPU is stalled in-between), while values around actual frame rate indicate rendering being limited by CPU performance (GPU is stalled in-between).

◆ FrameStart()

virtual void Graphic3d_FrameStats::FrameStart ( const Handle< Graphic3d_CView > &  theView,
bool  theIsImmediateOnly 
)
virtual

Frame redraw started.

◆ HasCulledLayers()

Standard_Boolean Graphic3d_FrameStats::HasCulledLayers ( ) const
inline

Returns TRUE if some Layers have been culled.

◆ HasCulledStructs()

Standard_Boolean Graphic3d_FrameStats::HasCulledStructs ( ) const
inline

Returns TRUE if some structures have been culled.

◆ IsLongLineFormat()

Standard_Boolean Graphic3d_FrameStats::IsLongLineFormat ( ) const
inline

Prefer longer lines over more greater of lines.

◆ LastDataFrame()

const Graphic3d_FrameStatsData& Graphic3d_FrameStats::LastDataFrame ( ) const
inline

Returns last data frame, cached between stats updates. Should NOT be called between ::FrameStart() and ::FrameEnd() calls.

◆ LastDataFrameIndex()

Standard_Integer Graphic3d_FrameStats::LastDataFrameIndex ( ) const
inline

Returns last data frame index.

◆ SetLongLineFormat()

void Graphic3d_FrameStats::SetLongLineFormat ( Standard_Boolean  theValue)
inline

Set if format should prefer longer lines over greater number of lines.

◆ SetUpdateInterval()

void Graphic3d_FrameStats::SetUpdateInterval ( Standard_Real  theInterval)
inline

Sets interval in seconds for updating values.

◆ TimerValue()

Standard_Real Graphic3d_FrameStats::TimerValue ( Graphic3d_FrameStatsTimer  theTimer) const
inline

Returns value of specified timer for modification, should be called between ::FrameStart() and ::FrameEnd() calls. Should NOT be called between ::FrameStart() and ::FrameEnd() calls.

◆ UpdateInterval()

Standard_Real Graphic3d_FrameStats::UpdateInterval ( ) const
inline

Returns interval in seconds for updating meters across several frames; 1 second by default.

◆ updateStatistics()

virtual void Graphic3d_FrameStats::updateStatistics ( const Handle< Graphic3d_CView > &  theView,
bool  theIsImmediateOnly 
)
protectedpure virtual

Method to collect statistics from the View; called by FrameEnd().

Implemented in OpenGl_FrameStats.

Field Documentation

◆ myCounters

NCollection_Array1<Graphic3d_FrameStatsData> Graphic3d_FrameStats::myCounters
protected

data frames history

◆ myCountersMax

Graphic3d_FrameStatsData Graphic3d_FrameStats::myCountersMax
protected

data frame values with absolute maximum values in the history

◆ myCountersTmp

Graphic3d_FrameStatsDataTmp Graphic3d_FrameStats::myCountersTmp
protected

data frame values filled to be filled between FrameStart() and FrameEnd() calls

◆ myFpsFrameCount

Standard_Size Graphic3d_FrameStats::myFpsFrameCount
protected

FPS counter (within short measurement time slice)

◆ myFpsTimer

OSD_Timer Graphic3d_FrameStats::myFpsTimer
protected

timer for FPS measurements

◆ myFrameDuration

Standard_Real Graphic3d_FrameStats::myFrameDuration
protected

frame duration

◆ myFrameStartTime

Standard_Real Graphic3d_FrameStats::myFrameStartTime
protected

time at the beginning of frame redraw

◆ myIsLongLineFormat

Standard_Boolean Graphic3d_FrameStats::myIsLongLineFormat
protected

prefer longer lines over greater number of lines

◆ myLastFrameIndex

Standard_Integer Graphic3d_FrameStats::myLastFrameIndex
protected

last data frame index

◆ myUpdateInterval

Standard_Real Graphic3d_FrameStats::myUpdateInterval
protected

interval to update meters


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