6#define ENABLE_PROFILING
59 bool Is_Root(
void) {
return (CurrentParent->Get_Parent() == 0); }
61 void Enter_Child(
int index );
63 void Enter_Parent(
void );
88 static void Start_Profile(
const char * name );
89 static void Stop_Profile(
void );
96 static void Reset(
void );
97 static void Increment_Frame_Counter(
void );
99 static float Get_Time_Since_Reset(
void );
108 static void dumpRecursive(std::string &output,
ProfileIterator* profileIterator,
int spacing);
110 static void dumpAll(std::string &output);
130#ifdef ENABLE_PROFILING
131#define SBS_PROFILE(name) ProfileSample __profile(name, true)
132#define SBS_PROFILE_MAIN(name) ProfileSample __profile(name, false)
134#define SBS_PROFILE(name)
An iterator to navigate through the tree.
int Get_Current_Parent_Total_Calls(void)
int Get_Current_Total_Calls(void)
const char * Get_Current_Parent_Name(void)
const char * Get_Current_Name(void)
ProfileNode * CurrentParent
void Enter_Largest_Child(void)
float Get_Current_Parent_Total_Time(void)
ProfileNode * CurrentChild
float Get_Current_Total_Time(void)
The Manager for the Profile system.
static void Release_Iterator(ProfileIterator *iterator)
static int Get_Frame_Count_Since_Reset(void)
static unsigned long int ResetTime
static ProfileNode * CurrentNode
static ProfileIterator * Get_Iterator(void)
static void CleanupMemory(void)
A node in the Profile Hierarchy Tree.
ProfileNode * Get_Child(void)
ProfileNode * Get_Sibling(void)
unsigned long int StartTime
ProfileNode * Get_Parent(void)
int Get_Total_Calls(void)
float Get_Total_Time(void)
const char * Get_Name(void)