Объявление
public long GetSampleMetadataAsLong(int sampleIndex, int metadataIndex);Параметры
sampleIndex | Индекс образца профилировщика. |
metadataIndex | Индекс метаданных. |
Возвращает
long Возвращает длинное представление образца значения метаданных.
Описание
Получает образец значения метаданных длиной.
Используйте для получения дополнительных данных, связанных с образцом. metadataIndex должен принимать значения от 0 до GetSampleMetadataCount.
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;
}
}