Profiling macros
Namespace: | dmProfile |
Include: | #include <dmsdk/dlib/profile.h> |
TYPES | |
---|---|
HProfile | Profile snapshot handle |
FUNCTIONS | |
---|---|
dmProfile::HProfile BeginFrame() | Begin profiling, eg start of frame |
void EndFrame(dmProfile::HProfile profile) | Release profile returned by #Begin |
dmProfile::HProfile BeginFrame()
Begin profiling, eg start of frame
PARAMETERS
RETURNS
dmProfile::HProfile |
The current profiling context. Must be released by #EndFrame |
void EndFrame(dmProfile::HProfile profile)
Release profile returned by #Begin
PARAMETERS
dmProfile::HProfile |
profile |
Profile to release |
Profile snapshot handle
Adds a profiling scope. Excluded by default in release builds.
a |
A name for the scope |
EXAMPLES
Profile a scope{
DM_PROFILE("DoWork");
DoWork1();
DoWork2();
}
Adds a profiling scope. Excluded by default in release builds. Accepts a name cache value for performance.
a |
The scope name |
a |
The scope name hash value pointer. May be 0. |
EXAMPLES
Create a dynamic profiling scope{
DM_PROFILE_DYN(work->m_Name, &work->m_NameHash);
work->DoWork();
}
Send text to the profiler
a |
The format string |
a |
The variable argument list |
EXAMPLES
Send a string to the profilerDM_PROFILE_TEXT("Some value: %d", value);
Add a value to float property
name |
The property |
value |
The value |
EXAMPLES
DM_PROPERTY_ADD_F32(rmtp_MyValue, 1.5);
Add a value to double property
name |
The property |
value |
The value |
EXAMPLES
DM_PROPERTY_ADD_F64(rmtp_MyValue, 1.5);
Add a value to int32_t property
name |
The property |
value |
The value |
EXAMPLES
DM_PROPERTY_ADD_S32(rmtp_MyValue, -1);
Add a value to int64_t property
name |
The property |
value |
The value |
EXAMPLES
DM_PROPERTY_ADD_S64(rmtp_MyValue, -1);
Add a value to uint32_t property
name |
The property |
value |
The value |
EXAMPLES
DM_PROPERTY_ADD_U32(rmtp_MyValue, 1);
Add a value to uint64_t property
name |
The property |
value |
The value |
EXAMPLES
DM_PROPERTY_ADD_U64(rmtp_MyValue, 1);
Declare a property of type bool
name |
The property symbol/name |
default |
The default value |
flags |
The flags. Either NoFlags or FrameReset . FrameReset makes the value reset each frame. |
desc |
The description |
group |
[optional] The parent group |
EXAMPLES
DM_PROPERTY_BOOL(rmtp_MyBool, 0, FrameReset, "true or false", &rmtp_MyGroup);
Declare an extern property
name |
The symbol name |
EXAMPLES
Use a property declared elsewhere in the same libraryDM_PROPERTY_EXTERN(rmtp_GameObject);
DM_PROPERTY_U32(rmtp_ComponentsAnim, 0, FrameReset, "#", &rmtp_GameObject);
Declare a property of type float
name |
The property symbol/name |
default |
The default value |
flags |
The flags. Either NoFlags or FrameReset . FrameReset makes the value reset each frame. |
desc |
The description |
group |
[optional] The parent group |
EXAMPLES
DM_PROPERTY_F32(rmtp_MyValue, 0, FrameReset, "a value", &rmtp_MyGroup);
Declare a property of type double
name |
The property symbol/name |
default |
The default value |
flags |
The flags. Either NoFlags or FrameReset . FrameReset makes the value reset each frame. |
desc |
The description |
group |
[optional] The parent group |
EXAMPLES
DM_PROPERTY_F64(rmtp_MyValue, 0, FrameReset, "a value", &rmtp_MyGroup);
Declare a property group
name |
The group name |
desc |
The description |
EXAMPLES
DM_PROPERTY_GROUP(rmtp_GameObject, "My Group");
Reset a property to its default value
name |
The property |
EXAMPLES
DM_PROPERTY_RESET(rmtp_MyValue);
Declare a property of type int32_t
name |
The property symbol/name |
default |
The default value |
flags |
The flags. Either NoFlags or FrameReset . FrameReset makes the value reset each frame. |
desc |
The description |
group |
[optional] The parent group |
EXAMPLES
DM_PROPERTY_S32(rmtp_MyValue, 0, FrameReset, "a value", &rmtp_MyGroup);
Declare a property of type int64_t
name |
The property symbol/name |
default |
The default value |
flags |
The flags. Either NoFlags or FrameReset . FrameReset makes the value reset each frame. |
desc |
The description |
group |
[optional] The parent group |
EXAMPLES
DM_PROPERTY_S64(rmtp_MyValue, 0, FrameReset, "a value", &rmtp_MyGroup);
Set the value of a bool property
name |
The property |
value |
The value |
EXAMPLES
DM_PROPERTY_SET_BOOL(rmtp_MyBool, false);
Set the value of a float property
name |
The property |
value |
The value |
EXAMPLES
DM_PROPERTY_SET_F32(rmtp_MyValue, 1.5);
Set the value of a double property
name |
The property |
value |
The value |
EXAMPLES
DM_PROPERTY_SET_F64(rmtp_MyValue, 1.5);
Set the value of a int32_t property
name |
The property |
value |
The value |
EXAMPLES
DM_PROPERTY_SET_S32(rmtp_MyValue, -1);
Set the value of a int64_t property
name |
The property |
value |
The value |
EXAMPLES
DM_PROPERTY_SET_S64(rmtp_MyValue, -1);
Set the value of a uint32_t property
name |
The property |
value |
The value |
EXAMPLES
DM_PROPERTY_SET_U32(rmtp_MyValue, 1);
Set the value of a uint64_t property
name |
The property |
value |
The value |
EXAMPLES
DM_PROPERTY_SET_U64(rmtp_MyValue, 1);
Declare a property of type uint32_t
name |
The property symbol/name |
default |
The default value |
flags |
The flags. Either NoFlags or FrameReset . FrameReset makes the value reset each frame. |
desc |
The description |
group |
[optional] The parent group |
EXAMPLES
DM_PROPERTY_U32(rmtp_MyValue, 0, FrameReset, "a value", &rmtp_MyGroup);
Declare a property of type uint64_t
name |
The property symbol/name |
default |
The default value |
flags |
The flags. Either NoFlags or FrameReset . FrameReset makes the value reset each frame. |
desc |
The description |
group |
[optional] The parent group |
EXAMPLES
DM_PROPERTY_U64(rmtp_MyValue, 0, FrameReset, "a value", &rmtp_MyGroup);