1 #ifndef __FBPROFILER_H__ 2 #define __FBPROFILER_H__ 39 #include <kaydaradef.h> 44 #define FBSDK_DLL K_DLLIMPORT 50 #ifdef FBSDKUseNamespace 60 #define FBProfiler_CreateTaskCycle( pClass, pR, pG, pB ) \ 61 int gProfilingIndex_##pClass = -1; \ 62 float gProfilingColor_##pClass[3] = { pR, pG, pB }; 69 #define FBProfiling_SetupTaskCycle( pClass ) \ 70 if(gProfilingIndex_##pClass == -1) \ 71 gProfilingIndex_##pClass = FBProfiler::TheOne().RegisterTaskCycle(#pClass,gProfilingColor_##pClass); 78 #define FBProfiling_TaskCycleIndex( pClass ) \ 79 gProfilingIndex_##pClass 132 const char* GetName();
133 const float* GetColor();
141 void GetAvgMinMaxUsage(
double& pAvg,
double& pMin,
double& pMax);
188 const float* GetColor();
190 const char* GetTypeName();
191 const char* GetComment();
194 bool IsSingleEvent();
209 kFBProfilingModeDisabled = 0,
210 kFBProfilingModeEvaluation,
211 kFBProfilingModeRendering,
212 kFBProfilingModeDevices,
214 kFBProfilingModeAllLow,
215 kFBProfilingModeAllHi
244 int GetEventSampleCount();
266 int GetStatIndex(
const char* pName);
271 const char* GetStatName(
int pIndex);
276 const char* GetStatComment(
int pIndex);
282 double GetStatStart(
int pIndex);
288 double GetStatStop(
int pIndex);
294 double GetStatDuration(
int pIndex);
299 double GetProfilingCost();
306 static int RegisterTaskCycle(
const char* pUniqueName,
float* pColor = NULL);
312 static bool IsTaskCycleNameRegistered(
const char* pName);
345 inline bool IsStarted() {
return mCurrentTaskCycle != NULL; }
362 #ifdef FBSDKUseNamespace
FBPropertyBool FrameReference
Read/Write Property: Draw task cycles in relation to main thread cycle time - frame cycle (percentage...
#define __FBClassDeclare(Name, Parent)
For internal use only.
Contains definitions for devices, boxes and models.
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
FBPropertyBool ActiveSampling
Read/Write Property: Activate the sampling for time events. Call before quering for FBProfileTimeEven...
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
#define FBSDKNamespace
FBSDKNamespace define.
FBPropertyInt EvaluationDepth
Read/Write Property: Specify the depth of evaluation profiling for data collection (maximum value is ...
FBPropertyProfilingMode ProfilingMode
Read/Write Property: Profiling collection modes, including disabling all profiling.
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
FBPropertyInt BufferSize
Read/Write Property: Buffer size for average and timing computation (maximum value 200)...
MotionBuilder SDK base class.
bool IsStarted()
Test to see if profiling is started. Useful to verify if profiling is in progress.
AnimationNodeNotify evaluation information.