Table of Contents

Struct DiagnosticSnapshot

Namespace
Framework.Systems.Diagnostics.Data
Assembly
Assembly-CSharp.dll

단일 프레임 성능 지표 스냅샷. 감지/저장/Overlay 표시의 기본 단위.

[MemoryPackable(GenerateType.Object)]
public struct DiagnosticSnapshot

Remarks

[직렬화] MemoryPack 사용 — 내부 고성능 시스템 데이터. 이유: 런타임 수집 데이터, 사람이 편집하지 않음, 대량 배열 저장 필요. MetricsExporter에서 .bin 파일로 저장하거나 링 버퍼에 보관. readonly struct로 설계 — 값 복사 후 각 서브시스템에 in 한정자로 전달.

Fields

ActiveObjectCount

현재 씬의 활성 GameObject 수.

public int ActiveObjectCount

Field Value

int

DrawCalls

드로우 콜(Batches) 수. ProfilerRecorder 수집.

public int DrawCalls

Field Value

int

Fps

초당 프레임 수.

public float Fps

Field Value

float

FrameTime

프레임 처리 시간(ms).

public float FrameTime

Field Value

float

GCAlloc

프레임당 GC 할당량(bytes). Mono 힙 증가량.

public long GCAlloc

Field Value

long

SetPassCalls

SetPass 콜 수. ProfilerRecorder 수집.

public int SetPassCalls

Field Value

int

Timestamp

스냅샷 수집 시각(앱 기동 후 경과 초). Time.realtimeSinceStartup.

public float Timestamp

Field Value

float

TotalMemory

총 할당 메모리(bytes). Profiler.GetTotalAllocatedMemoryLong.

public long TotalMemory

Field Value

long

Methods

Deserialize(ref MemoryPackReader, ref DiagnosticSnapshot)

[Preserve]
public static void Deserialize(ref MemoryPackReader reader, ref DiagnosticSnapshot value)

Parameters

reader MemoryPackReader
value DiagnosticSnapshot

RegisterFormatter()

[Preserve]
public static void RegisterFormatter()

Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter>, ref DiagnosticSnapshot)

[Preserve]
public static void Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter> writer, ref DiagnosticSnapshot value) where TBufferWriter : class, IBufferWriter<byte>

Parameters

writer MemoryPackWriter<TBufferWriter>
value DiagnosticSnapshot

Type Parameters

TBufferWriter