RawFrameDataView.GetSampleMarkerId
Declaration
public int GetSampleMarkerId(int sampleIndex);Параметры
| Параметр | Описание |
|---|---|
| sampleIndex | Указатель образца Profiler. |
Возвращаемое значение
инт Возвращает идентификатор маркера Profiler. Возвращает invalidMarkerId для неверного индекса.
Описание
Получает идентификатор маркера Profiler, который уникально идентифицирует имя образца.
Profiler использует уникальный идентификатор для каждого маркера, созданного во время сессии профилирования. Маркер может генерировать множество образцов, которые могут быть получены RawFrameDataView.
Все образцы, генерируемые одним и тем же маркером, имеют один и тот же целочисленный идентификатор маркера и одно и то же имя.
Идентификатор маркера остается на протяжении всей сессии профилирования.
using System; using Unity.Collections; using UnityEditor.Profiling; using UnityEditorInternal; using UnityEngine; using UnityEngine.Profiling;
public class Example { public static long GetGCAllocs(int frameIndex) { long totalGcAllocSize = 0;
int gcAllocMarkerId = FrameDataView.invalidMarkerId;
for (int threadIndex = 0;; ++threadIndex) { using (RawFrameDataView frameData = ProfilerDriver.GetRawFrameDataView(frameIndex, threadIndex)) { if (!frameData.valid) break;
if (gcAllocMarkerId == FrameDataView.invalidMarkerId) { gcAllocMarkerId = frameData.GetMarkerId("GC.Alloc"); if (gcAllocMarkerId == FrameDataView.invalidMarkerId) break; }
int sampleCount = frameData.sampleCount; for (int i = 0; i < sampleCount; ++i) { if (gcAllocMarkerId != frameData.GetSampleMarkerId(i)) continue;
long gcAllocSize = frameData.GetSampleMetadataAsLong(i, 0); totalGcAllocSize += gcAllocSize; } } }
return totalGcAllocSize; } }
Дополнительные ресурсы: ,GetSampleName,, ,FrameDataView.GetMarkerId,, ,FrameDataView.GetMarkerName,.