The profiler allows you to measure the performance of your code. More...
#include <OgreProfiler.h>
Classes | |
struct | ProfileFrame |
Represents the total timing information of a profile since profiles can be called more than once each frame. More... | |
struct | ProfileHistory |
Represents a history of each profile during the duration of the app. More... | |
struct | ProfileInstance |
Represents an individual profile call. More... | |
Public Types | |
enum | DisplayMode { DISPLAY_PERCENTAGE, DISPLAY_MILLISECONDS } |
Public Member Functions | |
Profiler () | |
~Profiler () | |
void | setTimer (Timer *t) |
Sets the timer for the profiler. | |
Timer * | getTimer () |
Retrieves the timer for the profiler. | |
void | beginProfile (const String &profileName, uint32 groupID=(uint32) OGREPROF_USER_DEFAULT) |
Begins a profile. | |
void | endProfile (const String &profileName, uint32 groupID=(uint32) OGREPROF_USER_DEFAULT) |
Ends a profile. | |
void | setEnabled (bool enabled) |
Sets whether this profiler is enabled. | |
bool | getEnabled () const |
Gets whether this profiler is enabled. | |
void | enableProfile (const String &profileName) |
Enables a previously disabled profile. | |
void | disableProfile (const String &profileName) |
Disables a profile. | |
void | setProfileGroupMask (uint32 mask) |
Set the mask which all profiles must pass to be enabled. | |
uint32 | getProfileGroupMask () const |
Get the mask which all profiles must pass to be enabled. | |
bool | watchForMax (const String &profileName) |
Returns true if the specified profile reaches a new frame time maximum. | |
bool | watchForMin (const String &profileName) |
Returns true if the specified profile reaches a new frame time minimum. | |
bool | watchForLimit (const String &profileName, Real limit, bool greaterThan=true) |
Returns true if the specified profile goes over or under the given limit frame time. | |
void | logResults () |
Outputs current profile statistics to the log. | |
void | reset () |
Clears the profiler statistics. | |
void | setDisplayMode (DisplayMode d) |
Set the display mode for the overlay. | |
DisplayMode | getDisplayMode () const |
Get the display mode for the overlay. | |
void | setUpdateDisplayFrequency (uint freq) |
Sets the Profiler so the display of results are updated every n frames. | |
uint | getUpdateDisplayFrequency () const |
Gets the frequency that the Profiler display is updated. | |
void | setOverlayDimensions (Real width, Real height) |
Set the size of the profiler overlay, in pixels. | |
void | setOverlayPosition (Real left, Real top) |
Set the position of the profiler overlay, in pixels. | |
Real | getOverlayWidth () const |
Real | getOverlayHeight () const |
Real | getOverlayLeft () const |
Real | getOverlayTop () const |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info | |
void * | operator new[] (size_t sz) |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
Static Public Member Functions | |
static Profiler & | getSingleton (void) |
Override standard Singleton retrieval. | |
static Profiler * | getSingletonPtr (void) |
Override standard Singleton retrieval. | |
Protected Types | |
typedef list< ProfileInstance > ::type | ProfileStack |
typedef list< ProfileFrame >::type | ProfileFrameList |
typedef list< ProfileHistory > ::type | ProfileHistoryList |
typedef map< String, ProfileHistoryList::iterator > ::type | ProfileHistoryMap |
typedef map< String, bool >::type | DisabledProfileMap |
typedef list< OverlayElement * > ::type | ProfileBarList |
Protected Member Functions | |
void | initialize () |
Initializes the profiler's GUI elements. | |
void | displayResults () |
Prints the profiling results of each frame. | |
void | processFrameStats () |
Processes the profiler data after each frame. | |
void | changeEnableState () |
Handles a change of the profiler's enabled state. | |
OverlayContainer * | createContainer () |
An internal function to create the container which will hold our display elements. | |
OverlayElement * | createTextArea (const String &name, Real width, Real height, Real top, Real left, uint fontSize, const String &caption, bool show=true) |
An internal function to create a text area. | |
OverlayElement * | createPanel (const String &name, Real width, Real height, Real top, Real left, const String &materialName, bool show=true) |
An internal function to create a panel. | |
Protected Attributes | |
ProfileStack | mProfiles |
A stack for each individual profile per frame. | |
ProfileFrameList | mProfileFrame |
Accumulates the results of each profile per frame (since a profile can be called more than once a frame) | |
ProfileHistoryList | mProfileHistory |
Keeps track of the statistics of each profile. | |
ProfileHistoryMap | mProfileHistoryMap |
We use this for quick look-ups of profiles in the history list. | |
DisabledProfileMap | mDisabledProfiles |
Holds the names of disabled profiles. | |
ProfileBarList | mProfileBars |
Holds the display bars for each profile results. | |
bool | mInitialized |
Whether the GUI elements have been initialized. | |
uint | mMaxDisplayProfiles |
The max number of profiles we can display. | |
Overlay * | mOverlay |
The overlay which contains our profiler results display. | |
OverlayContainer * | mProfileGui |
The window that displays the profiler results. | |
Real | mBarHeight |
The height of each bar. | |
Real | mGuiHeight |
The height of the stats window. | |
Real | mGuiWidth |
The width of the stats window. | |
Real | mGuiLeft |
The horz position of the stats window. | |
Real | mGuiTop |
The vertical position of the stats window. | |
Real | mBarIndent |
The size of the indent for each profile display bar. | |
Real | mGuiBorderWidth |
The width of the border between the profile window and each bar. | |
Real | mBarLineWidth |
The width of the min, avg, and max lines in a profile display. | |
Real | mBarSpacing |
The distance between bars. | |
uint | mUpdateDisplayFrequency |
The number of frames that must elapse before the current frame display is updated. | |
uint | mCurrentFrame |
The number of elapsed frame, used with mUpdateDisplayFrequency. | |
Timer * | mTimer |
The timer used for profiling. | |
ulong | mTotalFrameTime |
The total time each frame takes. | |
bool | mEnabled |
Whether this profiler is enabled. | |
bool | mEnableStateChangePending |
Keeps track of whether this profiler has received a request to be enabled/disabled. | |
bool | mNewEnableState |
Keeps track of the new enabled/disabled state that the user has requested which will be applied after the frame ends. | |
uint32 | mProfileMask |
Mask to decide whether a type of profile is enabled or not. | |
DisplayMode | mDisplayMode |
How to display the overlay. | |
ulong | mMaxTotalFrameTime |
The max frame time recorded. | |
Real | mAverageFrameTime |
Rolling average of millisecs. | |
bool | mResetExtents |
Static Protected Attributes | |
static Profiler * | msSingleton |
The profiler allows you to measure the performance of your code.
Definition at line 126 of file OgreProfiler.h.
typedef map<String, bool>::type Ogre::Profiler::DisabledProfileMap [protected] |
Definition at line 400 of file OgreProfiler.h.
typedef list<OverlayElement*>::type Ogre::Profiler::ProfileBarList [protected] |
Definition at line 402 of file OgreProfiler.h.
typedef list<ProfileFrame>::type Ogre::Profiler::ProfileFrameList [protected] |
Definition at line 397 of file OgreProfiler.h.
typedef list<ProfileHistory>::type Ogre::Profiler::ProfileHistoryList [protected] |
Definition at line 398 of file OgreProfiler.h.
typedef map<String, ProfileHistoryList::iterator>::type Ogre::Profiler::ProfileHistoryMap [protected] |
Definition at line 399 of file OgreProfiler.h.
typedef list<ProfileInstance>::type Ogre::Profiler::ProfileStack [protected] |
Definition at line 396 of file OgreProfiler.h.
DISPLAY_PERCENTAGE |
Display % frame usage on the overlay. |
DISPLAY_MILLISECONDS |
Display milliseconds on the overlay. |
Definition at line 229 of file OgreProfiler.h.
void Ogre::Profiler::beginProfile | ( | const String & | profileName, |
uint32 | groupID = (uint32) OGREPROF_USER_DEFAULT |
||
) |
Begins a profile.
profileName | Must be unique and must not be an empty string |
groupID | A profile group identifier, which can allow you to mask profiles |
void Ogre::Profiler::changeEnableState | ( | ) | [protected] |
Handles a change of the profiler's enabled state.
OverlayContainer* Ogre::Profiler::createContainer | ( | ) | [protected] |
An internal function to create the container which will hold our display elements.
OverlayElement* Ogre::Profiler::createPanel | ( | const String & | name, |
Real | width, | ||
Real | height, | ||
Real | top, | ||
Real | left, | ||
const String & | materialName, | ||
bool | show = true |
||
) | [protected] |
An internal function to create a panel.
OverlayElement* Ogre::Profiler::createTextArea | ( | const String & | name, |
Real | width, | ||
Real | height, | ||
Real | top, | ||
Real | left, | ||
uint | fontSize, | ||
const String & | caption, | ||
bool | show = true |
||
) | [protected] |
An internal function to create a text area.
void Ogre::Profiler::disableProfile | ( | const String & | profileName | ) |
Disables a profile.
void Ogre::Profiler::displayResults | ( | ) | [protected] |
Prints the profiling results of each frame.
void Ogre::Profiler::enableProfile | ( | const String & | profileName | ) |
Enables a previously disabled profile.
void Ogre::Profiler::endProfile | ( | const String & | profileName, |
uint32 | groupID = (uint32) OGREPROF_USER_DEFAULT |
||
) |
Ends a profile.
profileName | Must be unique and must not be an empty string |
groupID | A profile group identifier, which can allow you to mask profiles |
DisplayMode Ogre::Profiler::getDisplayMode | ( | ) | const |
Get the display mode for the overlay.
Definition at line 242 of file OgreProfiler.h.
bool Ogre::Profiler::getEnabled | ( | ) | const |
Gets whether this profiler is enabled.
Real Ogre::Profiler::getOverlayHeight | ( | ) | const |
Real Ogre::Profiler::getOverlayLeft | ( | ) | const |
Real Ogre::Profiler::getOverlayTop | ( | ) | const |
Real Ogre::Profiler::getOverlayWidth | ( | ) | const |
uint32 Ogre::Profiler::getProfileGroupMask | ( | ) | const |
Get the mask which all profiles must pass to be enabled.
Definition at line 196 of file OgreProfiler.h.
static Profiler& Ogre::Profiler::getSingleton | ( | void | ) | [static] |
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< Profiler >.
static Profiler* Ogre::Profiler::getSingletonPtr | ( | void | ) | [static] |
Override standard Singleton retrieval.
Reimplemented from Ogre::Singleton< Profiler >.
Retrieves the timer for the profiler.
Gets the frequency that the Profiler display is updated.
void Ogre::Profiler::initialize | ( | ) | [protected] |
Initializes the profiler's GUI elements.
void Ogre::Profiler::logResults | ( | ) |
Outputs current profile statistics to the log.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, |
void * | |||
) | [inherited] |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, |
const char * | , | ||
int | , | ||
const char * | |||
) | [inherited] |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, |
const char * | , | ||
int | , | ||
const char * | |||
) | [inherited] |
Definition at line 118 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, |
const char * | file, | ||
int | line, | ||
const char * | func | ||
) | [inherited] |
operator new, with debug line info
Definition at line 67 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 72 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, |
void * | ptr | ||
) | [inherited] |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz, |
const char * | file, | ||
int | line, | ||
const char * | func | ||
) | [inherited] |
array operator new, with debug line info
Definition at line 85 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 90 of file OgreMemoryAllocatedObject.h.
void Ogre::Profiler::processFrameStats | ( | ) | [protected] |
Processes the profiler data after each frame.
void Ogre::Profiler::reset | ( | ) |
Clears the profiler statistics.
void Ogre::Profiler::setDisplayMode | ( | DisplayMode | d | ) |
Set the display mode for the overlay.
Definition at line 239 of file OgreProfiler.h.
void Ogre::Profiler::setEnabled | ( | bool | enabled | ) |
Sets whether this profiler is enabled.
Only takes effect after the the frame has ended.
void Ogre::Profiler::setOverlayDimensions | ( | Real | width, |
Real | height | ||
) |
Set the size of the profiler overlay, in pixels.
void Ogre::Profiler::setOverlayPosition | ( | Real | left, |
Real | top | ||
) |
Set the position of the profiler overlay, in pixels.
void Ogre::Profiler::setProfileGroupMask | ( | uint32 | mask | ) |
Set the mask which all profiles must pass to be enabled.
Definition at line 193 of file OgreProfiler.h.
void Ogre::Profiler::setTimer | ( | Timer * | t | ) |
Sets the timer for the profiler.
void Ogre::Profiler::setUpdateDisplayFrequency | ( | uint | freq | ) |
Sets the Profiler so the display of results are updated every n frames.
bool Ogre::Profiler::watchForLimit | ( | const String & | profileName, |
Real | limit, | ||
bool | greaterThan = true |
||
) |
Returns true if the specified profile goes over or under the given limit frame time.
limit | A number between 0 and 1 representing the percentage of frame time |
greaterThan | If true, this will return whether the limit is exceeded. Otherwise, it will return if the frame time has gone under this limit. |
bool Ogre::Profiler::watchForMax | ( | const String & | profileName | ) |
Returns true if the specified profile reaches a new frame time maximum.
bool Ogre::Profiler::watchForMin | ( | const String & | profileName | ) |
Returns true if the specified profile reaches a new frame time minimum.
Real Ogre::Profiler::mAverageFrameTime [protected] |
Rolling average of millisecs.
Definition at line 496 of file OgreProfiler.h.
Real Ogre::Profiler::mBarHeight [protected] |
The height of each bar.
Definition at line 436 of file OgreProfiler.h.
Real Ogre::Profiler::mBarIndent [protected] |
The size of the indent for each profile display bar.
Definition at line 451 of file OgreProfiler.h.
Real Ogre::Profiler::mBarLineWidth [protected] |
The width of the min, avg, and max lines in a profile display.
Definition at line 457 of file OgreProfiler.h.
Real Ogre::Profiler::mBarSpacing [protected] |
The distance between bars.
Definition at line 460 of file OgreProfiler.h.
uint Ogre::Profiler::mCurrentFrame [protected] |
The number of elapsed frame, used with mUpdateDisplayFrequency.
Definition at line 467 of file OgreProfiler.h.
DisabledProfileMap Ogre::Profiler::mDisabledProfiles [protected] |
Holds the names of disabled profiles.
Definition at line 418 of file OgreProfiler.h.
DisplayMode Ogre::Profiler::mDisplayMode [protected] |
How to display the overlay.
Definition at line 490 of file OgreProfiler.h.
bool Ogre::Profiler::mEnabled [protected] |
Whether this profiler is enabled.
Definition at line 476 of file OgreProfiler.h.
bool Ogre::Profiler::mEnableStateChangePending [protected] |
Keeps track of whether this profiler has received a request to be enabled/disabled.
Definition at line 480 of file OgreProfiler.h.
Real Ogre::Profiler::mGuiBorderWidth [protected] |
The width of the border between the profile window and each bar.
Definition at line 454 of file OgreProfiler.h.
Real Ogre::Profiler::mGuiHeight [protected] |
The height of the stats window.
Definition at line 439 of file OgreProfiler.h.
Real Ogre::Profiler::mGuiLeft [protected] |
The horz position of the stats window.
Definition at line 445 of file OgreProfiler.h.
Real Ogre::Profiler::mGuiTop [protected] |
The vertical position of the stats window.
Definition at line 448 of file OgreProfiler.h.
Real Ogre::Profiler::mGuiWidth [protected] |
The width of the stats window.
Definition at line 442 of file OgreProfiler.h.
bool Ogre::Profiler::mInitialized [protected] |
Whether the GUI elements have been initialized.
Definition at line 424 of file OgreProfiler.h.
uint Ogre::Profiler::mMaxDisplayProfiles [protected] |
The max number of profiles we can display.
Definition at line 427 of file OgreProfiler.h.
ulong Ogre::Profiler::mMaxTotalFrameTime [protected] |
The max frame time recorded.
Definition at line 493 of file OgreProfiler.h.
bool Ogre::Profiler::mNewEnableState [protected] |
Keeps track of the new enabled/disabled state that the user has requested which will be applied after the frame ends.
Definition at line 484 of file OgreProfiler.h.
Overlay* Ogre::Profiler::mOverlay [protected] |
The overlay which contains our profiler results display.
Definition at line 430 of file OgreProfiler.h.
ProfileBarList Ogre::Profiler::mProfileBars [protected] |
Holds the display bars for each profile results.
Definition at line 421 of file OgreProfiler.h.
ProfileFrameList Ogre::Profiler::mProfileFrame [protected] |
Accumulates the results of each profile per frame (since a profile can be called more than once a frame)
Definition at line 409 of file OgreProfiler.h.
OverlayContainer* Ogre::Profiler::mProfileGui [protected] |
The window that displays the profiler results.
Definition at line 433 of file OgreProfiler.h.
ProfileHistoryList Ogre::Profiler::mProfileHistory [protected] |
Keeps track of the statistics of each profile.
Definition at line 412 of file OgreProfiler.h.
ProfileHistoryMap Ogre::Profiler::mProfileHistoryMap [protected] |
We use this for quick look-ups of profiles in the history list.
Definition at line 415 of file OgreProfiler.h.
uint32 Ogre::Profiler::mProfileMask [protected] |
Mask to decide whether a type of profile is enabled or not.
Definition at line 487 of file OgreProfiler.h.
ProfileStack Ogre::Profiler::mProfiles [protected] |
A stack for each individual profile per frame.
Definition at line 405 of file OgreProfiler.h.
bool Ogre::Profiler::mResetExtents [protected] |
Definition at line 497 of file OgreProfiler.h.
Profiler * Ogre::Singleton< Profiler >::msSingleton [static, protected, inherited] |
Definition at line 75 of file OgreSingleton.h.
Timer* Ogre::Profiler::mTimer [protected] |
The timer used for profiling.
Definition at line 470 of file OgreProfiler.h.
ulong Ogre::Profiler::mTotalFrameTime [protected] |
The total time each frame takes.
Definition at line 473 of file OgreProfiler.h.
uint Ogre::Profiler::mUpdateDisplayFrequency [protected] |
The number of frames that must elapse before the current frame display is updated.
Definition at line 464 of file OgreProfiler.h.
Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Fri May 25 2012 21:49:02