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.
Ogre::Profiler::Profiler | ( | ) |
Ogre::Profiler::~Profiler | ( | ) |
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 >.
Timer* Ogre::Profiler::getTimer | ( | ) |
Retrieves the timer for the profiler.
uint Ogre::Profiler::getUpdateDisplayFrequency | ( | ) | const |
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, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 107 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 | ) | [inherited] |
Definition at line 95 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 delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 112 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 | ) | [inherited] |
Definition at line 72 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 90 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::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.
Set the size of the profiler overlay, in pixels.
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 23:39:01 2012