VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Classes | Static Public Member Functions | Static Private Member Functions | Static Private Attributes | Friends
makVrv::DtProfileManager Class Reference

The profile manager responsible for all profiling. More...

Classes

class  Initializer
 this is a static constructor used to create and initialize this class and the clock at startup by calling the constructor of the profile manager More...

Static Public Member Functions

static void startProfile (const char *name)
 begin a profile. This function is thread safe
static void stopProfile ()
 begin stop a profile. This function is thread safe
static void startPerformanceStat (const char *name)
 begin a performance stat. This function is thread safe
static void stopPerformanceStat ()
 begin stop a profile. This function is thread safe
static void getTime (DtUInt64 &time)
 Get a timestamp in CPU ticks. This function is thread safe.
static void reset ()
 reset the entire tree
static void incrementFrameCounter ()
 increments the frame counter.
static int frameCountSinceReset ()
 get the number of frames since reset
static DtUInt64 timeSinceReset ()
 get the number of ticks since reset
static DtUInt64 ticksPerSecond ()
 get the number of ticks per second
static double averageFps ()
 get the average frames per second over the last second
static double instantFps ()
 get the instantaneous frames per second
static double lowestFps ()
 lowest fps seen since reset
static double instantFrameTime ()
 get the frame time in milliseconds
static double averageFrameTime ()
static double highestFrameTime ()
static DtProfileIteratorprofileIterator ()
 create a profile iterator
static DtProfileIteratorstatIterator ()
 create a performance stat iterator
static void releaseIterator (DtProfileIterator *iterator)
 release a profile iterator
static void incrementClientCount ()
static void decrementClientCount ()

Static Private Member Functions

static DtThreadProfileData * getCurrentProfileNode ()
 get the profiler data for a particular thread
static DtThreadProfileData * getCurrentPerformanceStatNode ()

Static Private Attributes

static Initializer theInitializer
static DtProfileNode theRoot
static DtProfileNode thePerformanceStatRoot
static bool theShouldReset
static int theFrameCounter
static DtUInt64 theResetTime
static DtUInt64 thePreviousFrame
static DtUInt64theFrameTimes
static DtUInt64 theMaxFrameTime
static int theFrameTimeIndex
static int theClientCount

Friends

class Initializer

Detailed Description

The profile manager responsible for all profiling.

Member Function Documentation

static void makVrv::DtProfileManager::incrementClientCount ( )
static

Clients who use the profile manager must register and unregister themselves. If no clients are registered, startProfile will return immediately so there's no overhead of generating profiles when nobody is using the data. Clients should register with incrementClientCount before any calls to startProfile or startPerformanceStat and must unregister with decrementClientCount once they are done collecting stats. In most cases can be done at client initialization and destruction time.

static void makVrv::DtProfileManager::decrementClientCount ( )
static
static void makVrv::DtProfileManager::startProfile ( const char name)
static

begin a profile. This function is thread safe

Referenced by makVrv::DtProfileSample::DtProfileSample(), and makVrv::DtProfileTarget< true >::DtProfileTarget().

static void makVrv::DtProfileManager::stopProfile ( )
static

begin stop a profile. This function is thread safe

Referenced by makVrv::DtProfileSample::~DtProfileSample(), and makVrv::DtProfileTarget< true >::~DtProfileTarget().

static void makVrv::DtProfileManager::startPerformanceStat ( const char name)
static

begin a performance stat. This function is thread safe

Referenced by makVrv::DtPerfomanceStatSample::DtPerfomanceStatSample().

static void makVrv::DtProfileManager::stopPerformanceStat ( )
static

begin stop a profile. This function is thread safe

Referenced by makVrv::DtPerfomanceStatSample::~DtPerfomanceStatSample().

static void makVrv::DtProfileManager::getTime ( DtUInt64 time)
static

Get a timestamp in CPU ticks. This function is thread safe.

static void makVrv::DtProfileManager::reset ( )
static

reset the entire tree

static void makVrv::DtProfileManager::incrementFrameCounter ( )
static

increments the frame counter.

This needs to be called once per frame from the main thread in order to compute time/frame correctly

static int makVrv::DtProfileManager::frameCountSinceReset ( )
inlinestatic

get the number of frames since reset

static DtUInt64 makVrv::DtProfileManager::timeSinceReset ( )
static

get the number of ticks since reset

static DtUInt64 makVrv::DtProfileManager::ticksPerSecond ( )
static

get the number of ticks per second

static double makVrv::DtProfileManager::averageFps ( )
static

get the average frames per second over the last second

static double makVrv::DtProfileManager::instantFps ( )
static

get the instantaneous frames per second

static double makVrv::DtProfileManager::lowestFps ( )
static

lowest fps seen since reset

static double makVrv::DtProfileManager::instantFrameTime ( )
static

get the frame time in milliseconds

static double makVrv::DtProfileManager::averageFrameTime ( )
static
static double makVrv::DtProfileManager::highestFrameTime ( )
static
static DtProfileIterator* makVrv::DtProfileManager::profileIterator ( )
static

create a profile iterator

static DtProfileIterator* makVrv::DtProfileManager::statIterator ( )
static

create a performance stat iterator

static void makVrv::DtProfileManager::releaseIterator ( DtProfileIterator iterator)
static

release a profile iterator

static DtThreadProfileData* makVrv::DtProfileManager::getCurrentProfileNode ( )
staticprivate

get the profiler data for a particular thread

static DtThreadProfileData* makVrv::DtProfileManager::getCurrentPerformanceStatNode ( )
staticprivate

Friends And Related Function Documentation

friend class Initializer
friend

Member Data Documentation

Initializer makVrv::DtProfileManager::theInitializer
staticprivate
DtProfileNode makVrv::DtProfileManager::theRoot
staticprivate
DtProfileNode makVrv::DtProfileManager::thePerformanceStatRoot
staticprivate
bool makVrv::DtProfileManager::theShouldReset
staticprivate
int makVrv::DtProfileManager::theFrameCounter
staticprivate
DtUInt64 makVrv::DtProfileManager::theResetTime
staticprivate
DtUInt64 makVrv::DtProfileManager::thePreviousFrame
staticprivate
DtUInt64* makVrv::DtProfileManager::theFrameTimes
staticprivate
DtUInt64 makVrv::DtProfileManager::theMaxFrameTime
staticprivate
int makVrv::DtProfileManager::theFrameTimeIndex
staticprivate
int makVrv::DtProfileManager::theClientCount
staticprivate

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

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)