Описание
Получает описание метрики Profiler.
Предоставляет информацию о показателях Profiler, доступных с помощью ProfilerRecorder. Используйте Name и Category для создания экземпляр 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(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());
}
}
Свойства
Category | Получает значение ProfilerCategory метрики Profiler. |
DataType | Получает тип значения данных метрики Profiler. |
Flags | Флаги маркера профилировщика метрики. |
Name | Название метрики Profiler. |
NameUtf8 | Имя метрики Profiler как указатель на массив байтов UTF-8. |
NameUtf8Len | Длина имени без разделителя null. |
UnitType | Получает тип блока данных метрики Profiler. |