Version: 2023.1

ProfilerRecorderDescription

struct in Unity.Profiling.LowLevel.Unsafe

切换到手册

描述

Gets the description of a Profiler metric.

Provides information about Profiler metrics that are accessible with the ProfilerRecorder. Use Name and Category to create an instance of ProfilerRecorder.

using System.Collections.Generic;
using System.Text;
using UnityEngine;
using Unity.Profiling;
using Unity.Profiling.LowLevel.Unsafe;

public class Example { struct StatInfo { public ProfilerCategory Cat; public string Name; public ProfilerMarkerDataUnit Unit; }

static unsafe void EnumerateProfilerStats() { var availableStatHandles = new List<ProfilerRecorderHandle>(); ProfilerRecorderHandle.GetAvailable(availableStatHandles);

var availableStats = new List<StatInfo>(availableStatHandles.Count); foreach (var h in availableStatHandles) { var statDesc = ProfilerRecorderHandle.GetDescription(h); var statInfo = new StatInfo() { Cat = statDesc.Category, Name = statDesc.Name, Unit = statDesc.UnitType }; availableStats.Add(statInfo); } availableStats.Sort((a, b) => { var result = string.Compare(a.Cat.ToString(), b.Cat.ToString()); if (result != 0) return result;

return string.Compare(a.Name, b.Name); });

var sb = new StringBuilder("Available stats:\n"); foreach (var s in availableStats) { sb.AppendLine($"{(int)s.Cat}\t\t - {s.Name}\t\t - {s.Unit}"); }

Debug.Log(sb.ToString()); } }

变量

CategoryGets the ProfilerCategory value of the Profiler metric.
DataTypeGets the data value type of the Profiler metric.
FlagsProfiler marker flags of the metric.
NameThe name of the Profiler metric.
NameUtf8The name of the Profiler metric as a pointer to UTF-8 byte array.
NameUtf8LenName length excluding null terminator.
UnitTypeGets the data unit type of the Profiler metric.