Struct ProfilerMarker<TP1, TP2>
Use ProfilerMarker<TP1, TP2> to mark up script code blocks for the Unity Profiler.
You can pass two integral or floating point parameters alongside the Begin event. The following types are supported as parameters:
- int
- uint
- long
- ulong
- float
- double
Namespace: Unity.Profiling
Syntax
public readonly struct ProfilerMarker<TP1, TP2>
where TP1 : struct where TP2 : struct
Type Parameters
Name | Description |
---|---|
TP1 | Type of the first parameter. |
TP2 | Type of the second parameter. |
Constructors
ProfilerMarker(String, String, String)
Constructs the ProfilerMarker that belongs to the generic ProfilerCategory.Scripts category.
Declaration
public ProfilerMarker(string name, string param1Name, string param2Name)
Parameters
Type | Name | Description |
---|---|---|
String | name | Name of a marker. |
String | param1Name | Name of the first parameter. |
String | param2Name | Name of the second parameter. |
Remarks
Does nothing in Release Players.
ProfilerMarker(ProfilerCategory, String, String, String)
Constructs a ProfilerMarker.
Declaration
public ProfilerMarker(ProfilerCategory category, string name, string param1Name, string param2Name)
Parameters
Type | Name | Description |
---|---|---|
ProfilerCategory | category | Profiler category. |
String | name | Name of a marker. |
String | param1Name | Name of the first parameter. |
String | param2Name | Name of the second parameter. |
Remarks
Does nothing in Release Players.
Methods
Auto(TP1, TP2)
Profiles a piece of code enclosed within a using statement.
Declaration
public readonly ProfilerMarker<TP1, TP2>.AutoScope Auto(TP1 p1, TP2 p2)
Parameters
Type | Name | Description |
---|---|---|
TP1 | p1 | The first context parameter. |
TP2 | p2 | The second context parameter. |
Returns
Type | Description |
---|---|
Unity.Profiling.ProfilerMarker.AutoScope<> | IDisposable struct which calls End on Dispose. |
Remarks
Returns null in Release Players.
Examples
using (profilerMarker.Auto(enemies.Count, blastRadius))
{
var blastRadius2 = blastRadius * blastRadius;
for (int i = 0; i < enemies.Count; ++i)
{
var r2 = (enemies[i].Pos - blastPos).sqrMagnitude;
if (r2 < blastRadius2)
enemies[i].Dispose();
}
}
Begin(TP1, TP2)
Begins profiling a piece of code marked with the ProfilerMarker instance.
Declaration
public readonly void Begin(TP1 p1, TP2 p2)
Parameters
Type | Name | Description |
---|---|---|
TP1 | p1 | The first context parameter. |
TP2 | p2 | The second context parameter. |
Remarks
Does nothing in Release Players.
End()
Ends profiling a piece of code marked with the ProfilerMarker instance.
Declaration
public readonly void End()
Remarks
Does nothing in Release Players.