mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-26 07:54:36 +00:00
Merge pull request #178 from sideeffects/master
Add IsActive accessor to ScopedZone.
This commit is contained in:
commit
c12de1b326
@ -27,6 +27,8 @@
|
|||||||
#define ZoneColorV(x,y)
|
#define ZoneColorV(x,y)
|
||||||
#define ZoneValue(x)
|
#define ZoneValue(x)
|
||||||
#define ZoneValueV(x,y)
|
#define ZoneValueV(x,y)
|
||||||
|
#define ZoneIsActive false
|
||||||
|
#define ZoneIsActiveV(x) false
|
||||||
|
|
||||||
#define FrameMark
|
#define FrameMark
|
||||||
#define FrameMarkNamed(x)
|
#define FrameMarkNamed(x)
|
||||||
@ -134,6 +136,8 @@
|
|||||||
#define ZoneColorV( varname, color ) varname.Color( color );
|
#define ZoneColorV( varname, color ) varname.Color( color );
|
||||||
#define ZoneValue( value ) ___tracy_scoped_zone.Value( value );
|
#define ZoneValue( value ) ___tracy_scoped_zone.Value( value );
|
||||||
#define ZoneValueV( varname, value ) varname.Value( value );
|
#define ZoneValueV( varname, value ) varname.Value( value );
|
||||||
|
#define ZoneIsActive ___tracy_scoped_zone.IsActive()
|
||||||
|
#define ZoneIsActiveV( varname ) varname.IsActive()
|
||||||
|
|
||||||
#define FrameMark tracy::Profiler::SendFrameMark( nullptr );
|
#define FrameMark tracy::Profiler::SendFrameMark( nullptr );
|
||||||
#define FrameMarkNamed( name ) tracy::Profiler::SendFrameMark( name );
|
#define FrameMarkNamed( name ) tracy::Profiler::SendFrameMark( name );
|
||||||
|
@ -160,6 +160,8 @@ public:
|
|||||||
TracyLfqCommit;
|
TracyLfqCommit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tracy_force_inline bool IsActive() const { return m_active; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const bool m_active;
|
const bool m_active;
|
||||||
|
|
||||||
|
@ -1048,7 +1048,7 @@ $2560\times1440$ & 23~FPS & 3300~FPS & 1600~FPS
|
|||||||
|
|
||||||
To record a zone's\footnote{A \texttt{zone} represents the lifetime of a special on-stack profiler variable. Typically it would exist for the duration of a whole scope of the profiled function, but you also can measure time spent in scopes of a for-loop, or an if-branch.} execution time add the \texttt{ZoneScoped} macro at the beginning of the scope you want to measure. This will automatically record function name, source file name and location. Optionally you may use the \texttt{ZoneScopedC(color)} macro to set a custom color for the zone. Note that the color value will be constant in the recording (don't try to parametrize it). You may also set a custom name for the zone, using the \texttt{ZoneScopedN(name)} macro. Color and name may be combined by using the \texttt{ZoneScopedNC(name, color)} macro.
|
To record a zone's\footnote{A \texttt{zone} represents the lifetime of a special on-stack profiler variable. Typically it would exist for the duration of a whole scope of the profiled function, but you also can measure time spent in scopes of a for-loop, or an if-branch.} execution time add the \texttt{ZoneScoped} macro at the beginning of the scope you want to measure. This will automatically record function name, source file name and location. Optionally you may use the \texttt{ZoneScopedC(color)} macro to set a custom color for the zone. Note that the color value will be constant in the recording (don't try to parametrize it). You may also set a custom name for the zone, using the \texttt{ZoneScopedN(name)} macro. Color and name may be combined by using the \texttt{ZoneScopedNC(name, color)} macro.
|
||||||
|
|
||||||
Use the \texttt{ZoneText(text, size)} macro to add a custom text string that will be displayed along the zone information (for example, name of the file you are opening). Multiple text strings can be attached to any single zone. The dynamic color of a zone can be specified with the \texttt{ZoneColor(uint32\_t)} macro to override the source location color. If you want to send a numeric value and don't want to pay the cost of converting it to a string, you may use the \texttt{ZoneValue(uint64\_t)} macro.
|
Use the \texttt{ZoneText(text, size)} macro to add a custom text string that will be displayed along the zone information (for example, name of the file you are opening). Multiple text strings can be attached to any single zone. The dynamic color of a zone can be specified with the \texttt{ZoneColor(uint32\_t)} macro to override the source location color. If you want to send a numeric value and don't want to pay the cost of converting it to a string, you may use the \texttt{ZoneValue(uint64\_t)} macro. You can check if the current zone is active with the \texttt{ZoneIsActive} macro.
|
||||||
|
|
||||||
If you want to set zone name on a per-call basis, you may do so using the \texttt{ZoneName(text, size)} macro. This name won't be used in the process of grouping the zones for statistical purposes (sections~\ref{statistics} and~\ref{findzone}).
|
If you want to set zone name on a per-call basis, you may do so using the \texttt{ZoneName(text, size)} macro. This name won't be used in the process of grouping the zones for statistical purposes (sections~\ref{statistics} and~\ref{findzone}).
|
||||||
|
|
||||||
@ -1071,7 +1071,7 @@ The zone markup macros automatically report when they end, through the RAII mech
|
|||||||
|
|
||||||
Using the \texttt{ZoneScoped} family of macros creates a stack variable named \texttt{\_\_\_tracy\_scoped\_zone}. If you want to measure more than one zone in the same scope, you will need to use the \texttt{ZoneNamed} macros, which require that you provide a name for the created variable. For example, instead of \texttt{ZoneScopedN("Zone name")}, you would use \texttt{ZoneNamedN(variableName, "Zone name", true)}\footnote{The last parameter is explained in section~\ref{filteringzones}.}.
|
Using the \texttt{ZoneScoped} family of macros creates a stack variable named \texttt{\_\_\_tracy\_scoped\_zone}. If you want to measure more than one zone in the same scope, you will need to use the \texttt{ZoneNamed} macros, which require that you provide a name for the created variable. For example, instead of \texttt{ZoneScopedN("Zone name")}, you would use \texttt{ZoneNamedN(variableName, "Zone name", true)}\footnote{The last parameter is explained in section~\ref{filteringzones}.}.
|
||||||
|
|
||||||
The \texttt{ZoneText}, \texttt{ZoneColor}, \texttt{ZoneValue}, and \texttt{ZoneName} macros apply to the zones created using the \texttt{ZoneScoped} macros. For zones created using the \texttt{ZoneNamed} macros, you can use the \texttt{ZoneTextV(variableName, text, size)}, \texttt{ZoneColorV(variableName, uint32\_t)}, \texttt{ZoneValueV(variableName, uint64\_t)}, or \texttt{ZoneNameV(variableName, text, size)} macros, or invoke the methods \texttt{Text}, \texttt{Color}, \texttt{Value}, or \texttt{Name} directly on the variable you have created.
|
The \texttt{ZoneText}, \texttt{ZoneColor}, \texttt{ZoneValue}, \texttt{ZoneIsActive}, and \texttt{ZoneName} macros apply to the zones created using the \texttt{ZoneScoped} macros. For zones created using the \texttt{ZoneNamed} macros, you can use the \texttt{ZoneTextV(variableName, text, size)}, \texttt{ZoneColorV(variableName, uint32\_t)}, \texttt{ZoneValueV(variableName, uint64\_t)}, \texttt{ZoneIsActiveV(variableName)}, or \texttt{ZoneNameV(variableName, text, size)} macros, or invoke the methods \texttt{Text}, \texttt{Color}, \texttt{Value}, \texttt{IsActive}, or \texttt{Name} directly on the variable you have created.
|
||||||
|
|
||||||
Zone objects can't be moved or copied.
|
Zone objects can't be moved or copied.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user