Unity 6.3
0 онлайн 60 гостей 3 в системе
Вход

RawFrameDataView.GetSampleMetadataAsLong

Declaration

public long GetSampleMetadataAsLong(int sampleIndex, int metadataIndex);

Параметры

Параметр Описание
sampleIndex Указатель образца Profiler.
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; } }