fbsdk/fbprofiler.h Source File
Go to the documentation of this file. 1 #ifndef __FBPROFILER_H__
2 #define __FBPROFILER_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();
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);
362 #ifdef FBSDKUseNamespace
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
All profiling disabled, this include Viewer profiling.
FBPropertyBool FrameReference
Read/Write Property: Draw task cycles in relation to main thread cycle time - frame cycle (percentage...
Collect profiling for all known rendering tasks.
AnimationNodeNotify evaluation information.
Contains definitions for devices, boxes and models.
Collect profiling for all known tasks that doesn't increase remarkably with scene size...
Collect profiling for all known evaluation tasks (default mode).
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
FBProfileTaskCycle * FBGetMainThreadTaskCycle()
Get root task cycle.
MotionBuilder SDK base class.
FBPropertyInt BufferSize
Read/Write Property: Buffer size for average and timing computation (maximum value 200)...
class FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
FBPropertyProfilingMode ProfilingMode
Read/Write Property: Profiling collection modes, including disabling all profiling.
Collect profiling for SDK.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
FBProfileTaskCycle * FBGetEvaluationTaskCycle()
Get evaluation task cycle.
#define FBSDKNamespace
FBSDKNamespace define.
Collect profiling for all known tasks .
class FBPropertyBaseEnum< enum FBProfilingMode > FBPropertyProfilingMode
bool IsStarted()
Test to see if profiling is started. Useful to verify if profiling is in progress.
#define FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
FBPropertyInt EvaluationDepth
Read/Write Property: Specify the depth of evaluation profiling for data collection (maximum value is ...
class FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
Collect profiling for device Input/Output and Device Evaluation.
FBProfileTaskCycle * FBGetRenderingTaskCycle()
Get rendering task cycle.
FBPropertyBool ActiveSampling
Read/Write Property: Activate the sampling for time events.
FBProfilingMode
Available Profiling modes.