Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


RawFrameDataView

Provides access to the Profiler data for a specific frame and thread.
Read time 4 minutesLast updated 11 days ago

Definition

public class RawFrameDataView : FrameDataView, IDisposable

Remarks

Use RawFrameDataView to retrieve unstructured Profiler samples data for the particular frame.
The order of samples is determined by the order they are generated in the code.
RawFrameDataView can quickly iterate over all samples in the frame without any internal allocations.
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; }}
Additional Resources: FrameDataView, HierarchyFrameDataView.

Static Fields

Value

Description

invalidSampleIndexThis constant defines a sample index that does not match any valid Profiler Sample.

Methods

Method

Description

GetFlowEventsGets all flow events for the current frame and thread.
GetSampleCallstackGets the callstack associated with the specified sample.
GetSampleCategoryIndexGets Profiler marker category for the specific sample.
GetSampleChildrenCountGets amount of child samples for the specific sample.
GetSampleChildrenCountRecursiveGets amount of direct and indirect child samples for the specific sample.
GetSampleFlagsGets Profiler marker flags for the specific sample.
GetSampleFlowEventsGets the flow events that originate from the specific sample.
GetSampleMarkerIdGets Profiler marker indentifier which uniquely identifies sample name.
GetSampleMetadataAsDoubleGets sample metadata value as double.
GetSampleMetadataAsFloatGets sample metadata value as float.
GetSampleMetadataAsIntGets sample metadata value as integer.
GetSampleMetadataAsLongGets sample metadata value as long.
GetSampleMetadataAsSpanReturns Span\<T\> representation of sample metadata.
GetSampleMetadataAsStringGets sample metadata value as string.
GetSampleMetadataCountGets metadata count associated with the specific sample.
GetSampleNameGets the name of the specific sample.
GetSampleStartTimeMsGets the start time of the sample. The amount of time is expressed in milliseconds.
GetSampleStartTimeNsGets the start time of the sample. The amount of time is expressed in nanoseconds.
GetSampleTimeMsGets the duration of sample. The amount of time is expressed in milliseconds.
GetSampleTimeNsGets the duration of sample. The amount of time is expressed in nanoseconds.

Structs

Struct

Description

RawFrameDataView.FlowEventThis struct describes profiler flow and its relation to the specific sample in the frame.

Inheritance

Inherited Members