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... | |
class | ProfileInstance |
Represents an individual profile call. More... | |
Public Types | |
enum | DisplayMode { DISPLAY_PERCENTAGE, DISPLAY_MILLISECONDS } |
Public Member Functions | |
Profiler () | |
~Profiler () | |
void | beginGPUEvent (const String &event) |
Mark the beginning of a GPU event group. More... | |
void | beginProfile (const String &profileName, uint32 groupID=(uint32) OGREPROF_USER_DEFAULT) |
Begins a profile. More... | |
void | disableProfile (const String &profileName) |
Disables a profile. More... | |
void | enableProfile (const String &profileName) |
Enables a previously disabled profile. More... | |
void | endGPUEvent (const String &event) |
Mark the end of a GPU event group. More... | |
void | endProfile (const String &profileName, uint32 groupID=(uint32) OGREPROF_USER_DEFAULT) |
Ends a profile. More... | |
DisplayMode | getDisplayMode () const |
Get the display mode for the overlay. More... | |
bool | getEnabled () const |
Gets whether this profiler is enabled. More... | |
Real | getOverlayHeight () const |
Real | getOverlayLeft () const |
Real | getOverlayTop () const |
Real | getOverlayWidth () const |
uint32 | getProfileGroupMask () const |
Get the mask which all profiles must pass to be enabled. More... | |
Timer * | getTimer () |
Retrieves the timer for the profiler. More... | |
uint | getUpdateDisplayFrequency () const |
Gets the frequency that the Profiler display is updated. More... | |
void | logResults () |
Outputs current profile statistics to the log. More... | |
void | markGPUEvent (const String &event) |
Mark a specific, ungrouped, GPU event. More... | |
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 *) |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new More... | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info More... | |
void * | operator new[] (size_t sz) |
void | reset () |
Clears the profiler statistics. More... | |
void | setDisplayMode (DisplayMode d) |
Set the display mode for the overlay. More... | |
void | setEnabled (bool enabled) |
Sets whether this profiler is enabled. More... | |
void | setOverlayDimensions (Real width, Real height) |
Set the size of the profiler overlay, in pixels. More... | |
void | setOverlayPosition (Real left, Real top) |
Set the position of the profiler overlay, in pixels. More... | |
void | setProfileGroupMask (uint32 mask) |
Set the mask which all profiles must pass to be enabled. More... | |
void | setTimer (Timer *t) |
Sets the timer for the profiler. More... | |
void | setUpdateDisplayFrequency (uint freq) |
Sets the Profiler so the display of results are updated every n frames. More... | |
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. More... | |
bool | watchForMax (const String &profileName) |
Returns true if the specified profile reaches a new frame time maximum. More... | |
bool | watchForMin (const String &profileName) |
Returns true if the specified profile reaches a new frame time minimum. More... | |
Static Public Member Functions | |
static Profiler & | getSingleton (void) |
Override standard Singleton retrieval. More... | |
static Profiler * | getSingletonPtr (void) |
Override standard Singleton retrieval. More... | |
Protected Types | |
typedef set< String >::type | DisabledProfileMap |
typedef list< OverlayElement * > ::type | ProfileBarList |
typedef ProfileInstance::ProfileChildren | ProfileChildren |
Protected Member Functions | |
void | changeEnableState () |
Handles a change of the profiler's enabled state. More... | |
OverlayContainer * | createContainer () |
An internal function to create the container which will hold our display elements. More... | |
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. More... | |
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. More... | |
void | displayResults (void) |
void | displayResults (ProfileInstance *instance, ProfileBarList::iterator &bIter, Real &maxTimeMillisecs, Real &newGuiHeight, int &profileCount) |
Prints the profiling results of each frame. More... | |
void | initialize () |
Initializes the profiler's GUI elements. More... | |
void | processFrameStats (void) |
Processes frame stats for all of the mRoot's children. More... | |
void | processFrameStats (ProfileInstance *instance, Real &maxFrameTime) |
Processes specific ProfileInstance and it's children recursively. More... | |
Protected Attributes | |
Real | mAverageFrameTime |
Rolling average of millisecs. More... | |
Real | mBarHeight |
The height of each bar. More... | |
Real | mBarIndent |
The size of the indent for each profile display bar. More... | |
Real | mBarLineWidth |
The width of the min, avg, and max lines in a profile display. More... | |
Real | mBarSpacing |
The distance between bars. More... | |
ProfileInstance * | mCurrent |
uint | mCurrentFrame |
The number of elapsed frame, used with mUpdateDisplayFrequency. More... | |
DisabledProfileMap | mDisabledProfiles |
Holds the names of disabled profiles. More... | |
DisplayMode | mDisplayMode |
How to display the overlay. More... | |
bool | mEnabled |
Whether this profiler is enabled. More... | |
Real | mGuiBorderWidth |
The width of the border between the profile window and each bar. More... | |
Real | mGuiHeight |
The height of the stats window. More... | |
Real | mGuiLeft |
The horz position of the stats window. More... | |
Real | mGuiTop |
The vertical position of the stats window. More... | |
Real | mGuiWidth |
The width of the stats window. More... | |
bool | mInitialized |
Whether the GUI elements have been initialized. More... | |
ProfileInstance * | mLast |
uint | mMaxDisplayProfiles |
The max number of profiles we can display. More... | |
ulong | mMaxTotalFrameTime |
The max frame time recorded. More... | |
bool | mNewEnableState |
Keeps track of the new enabled/disabled state that the user has requested which will be applied after the frame ends. More... | |
Overlay * | mOverlay |
The overlay which contains our profiler results display. More... | |
ProfileBarList | mProfileBars |
Holds the display bars for each profile results. More... | |
OverlayContainer * | mProfileGui |
The window that displays the profiler results. More... | |
uint32 | mProfileMask |
Mask to decide whether a type of profile is enabled or not. More... | |
bool | mResetExtents |
ProfileInstance | mRoot |
Timer * | mTimer |
The timer used for profiling. More... | |
ulong | mTotalFrameTime |
The total time each frame takes. More... | |
uint | mUpdateDisplayFrequency |
The number of frames that must elapse before the current frame display is updated. More... | |
Static Protected Attributes | |
static Profiler * | msSingleton |
Friends | |
class | ProfileInstance |
The profiler allows you to measure the performance of your code.
Definition at line 134 of file OgreProfiler.h.
|
protected |
Definition at line 457 of file OgreProfiler.h.
|
protected |
Definition at line 326 of file OgreProfiler.h.
|
protected |
Definition at line 458 of file OgreProfiler.h.
Enumerator | |
---|---|
DISPLAY_PERCENTAGE |
Display % frame usage on the overlay. |
DISPLAY_MILLISECONDS |
Display milliseconds on the overlay. |
Definition at line 252 of file OgreProfiler.h.
Ogre::Profiler::Profiler | ( | ) |
Ogre::Profiler::~Profiler | ( | ) |
void Ogre::Profiler::beginGPUEvent | ( | const String & | event | ) |
Mark the beginning of a GPU event group.
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 |
|
protected |
Handles a change of the profiler's enabled state.
|
protected |
An internal function to create the container which will hold our display elements.
|
protected |
An internal function to create a panel.
|
protected |
An internal function to create a text area.
void Ogre::Profiler::disableProfile | ( | const String & | profileName | ) |
Disables a profile.
|
protected |
|
protected |
Prints the profiling results of each frame.
void Ogre::Profiler::enableProfile | ( | const String & | profileName | ) |
Enables a previously disabled profile.
void Ogre::Profiler::endGPUEvent | ( | const String & | event | ) |
Mark the end of a GPU event group.
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 |
|
inline |
Get the display mode for the overlay.
Definition at line 265 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 |
|
inline |
Get the mask which all profiles must pass to be enabled.
Definition at line 219 of file OgreProfiler.h.
|
static |
Override standard Singleton retrieval.
|
static |
Override standard Singleton retrieval.
Timer* Ogre::Profiler::getTimer | ( | ) |
Retrieves the timer for the profiler.
uint Ogre::Profiler::getUpdateDisplayFrequency | ( | ) | const |
Gets the frequency that the Profiler display is updated.
|
protected |
Initializes the profiler's GUI elements.
void Ogre::Profiler::logResults | ( | ) |
Outputs current profile statistics to the log.
void Ogre::Profiler::markGPUEvent | ( | const String & | event | ) |
Mark a specific, ungrouped, GPU event.
|
inlineinherited |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 107 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 118 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
operator new, with debug line info
Definition at line 67 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 72 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
placement operator new
Definition at line 78 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
array operator new, with debug line info
Definition at line 85 of file OgreMemoryAllocatedObject.h.
|
inlineinherited |
Definition at line 90 of file OgreMemoryAllocatedObject.h.
|
protected |
Processes frame stats for all of the mRoot's children.
|
protected |
Processes specific ProfileInstance and it's children recursively.
void Ogre::Profiler::reset | ( | ) |
Clears the profiler statistics.
|
inline |
Set the display mode for the overlay.
Definition at line 262 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.
|
inline |
Set the mask which all profiles must pass to be enabled.
Definition at line 216 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.
|
friend |
Definition at line 324 of file OgreProfiler.h.
|
protected |
Rolling average of millisecs.
Definition at line 539 of file OgreProfiler.h.
|
protected |
The height of each bar.
Definition at line 483 of file OgreProfiler.h.
|
protected |
The size of the indent for each profile display bar.
Definition at line 498 of file OgreProfiler.h.
|
protected |
The width of the min, avg, and max lines in a profile display.
Definition at line 504 of file OgreProfiler.h.
|
protected |
The distance between bars.
Definition at line 507 of file OgreProfiler.h.
|
protected |
Definition at line 460 of file OgreProfiler.h.
|
protected |
The number of elapsed frame, used with mUpdateDisplayFrequency.
Definition at line 514 of file OgreProfiler.h.
|
protected |
Holds the names of disabled profiles.
Definition at line 465 of file OgreProfiler.h.
|
protected |
How to display the overlay.
Definition at line 533 of file OgreProfiler.h.
|
protected |
Whether this profiler is enabled.
Definition at line 523 of file OgreProfiler.h.
|
protected |
The width of the border between the profile window and each bar.
Definition at line 501 of file OgreProfiler.h.
|
protected |
The height of the stats window.
Definition at line 486 of file OgreProfiler.h.
|
protected |
The horz position of the stats window.
Definition at line 492 of file OgreProfiler.h.
|
protected |
The vertical position of the stats window.
Definition at line 495 of file OgreProfiler.h.
|
protected |
The width of the stats window.
Definition at line 489 of file OgreProfiler.h.
|
protected |
Whether the GUI elements have been initialized.
Definition at line 471 of file OgreProfiler.h.
|
protected |
Definition at line 461 of file OgreProfiler.h.
|
protected |
The max number of profiles we can display.
Definition at line 474 of file OgreProfiler.h.
|
protected |
The max frame time recorded.
Definition at line 536 of file OgreProfiler.h.
|
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 527 of file OgreProfiler.h.
|
protected |
The overlay which contains our profiler results display.
Definition at line 477 of file OgreProfiler.h.
|
protected |
Holds the display bars for each profile results.
Definition at line 468 of file OgreProfiler.h.
|
protected |
The window that displays the profiler results.
Definition at line 480 of file OgreProfiler.h.
|
protected |
Mask to decide whether a type of profile is enabled or not.
Definition at line 530 of file OgreProfiler.h.
|
protected |
Definition at line 540 of file OgreProfiler.h.
|
protected |
Definition at line 462 of file OgreProfiler.h.
|
staticprotectedinherited |
Definition at line 75 of file OgreSingleton.h.
|
protected |
The timer used for profiling.
Definition at line 517 of file OgreProfiler.h.
|
protected |
The total time each frame takes.
Definition at line 520 of file OgreProfiler.h.
|
protected |
The number of frames that must elapse before the current frame display is updated.
Definition at line 511 of file OgreProfiler.h.