ドキュメント

Unity Engine

Unity Engine

GetSampleMetadataAsLong(int, int)

Gets sample metadata value as long.
読み終わるまでの所要時間 1 分最終更新 1ヶ月前

Definition

public long GetSampleMetadataAsLong(int sampleIndex, int metadataIndex)

Parameters

sampleIndex

Index of the Profiler sample.

metadataIndex

Metadata index.

Returns

Type

Description

longReturns long representation of sample metadata value.

Remarks

Use to obtain additional data associated with the sample. metadataIndex must be between 0 and RawFrameDataView.GetSampleMetadataCount.

Examples

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; }}