API ReferenceSandbox.Diagnostics

FrameStatsclass

Stats returned from the engine each frame describing what was rendered, and how much of it.

object→FrameStats
Namespace
Sandbox.Diagnostics
Assembly
Sandbox.Engine
Declaration
public sealed struct Sandbox.Diagnostics.FrameStats

Properties47

Showing 47 properties

public double Sandbox.Diagnostics.FrameStats.AggregateIndirectFragments { get; set; }PUBLICGETSET

Fragments covered by those indirect submissions.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.AggregateIndirectSubmits { get; set; }PUBLICGETSET

Multi-draw indirect submissions from aggregate scene objects. Each one is a single draw call covering every visible fragment of an aggregate.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.AggregateObjectDrawCalls { get; set; }PUBLICGETSET

Native draw calls issued from aggregate scene objects.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.AggregateObjectDraws { get; set; }PUBLICGETSET

Primitive draws for aggregate scene objects (batched static prop / world geometry containers).

Returns:double—

public double Sandbox.Diagnostics.FrameStats.AggregateObjectsFullyCulled { get; set; }PUBLICGETSET

Aggregate scene objects rejected entirely by their bounding box this frame.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.AnimatableObjectDraws { get; set; }PUBLICGETSET

Primitive draws for animatable scene objects.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.BaseObjectDraws { get; set; }PUBLICGETSET

Primitive draws for base (static) scene objects.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.ConstantBufferBytes { get; set; }PUBLICGETSET

Total bytes uploaded into constant buffers by the material system.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.ConstantBufferUpdates { get; set; }PUBLICGETSETPER-FRAME

Number of constant-buffer updates issued by the material system.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.CopyMaterialChanges { get; set; }PUBLICGETSET

Number of "copy" material changes (rebound copy of a previously seen material).

Returns:double—

public double Sandbox.Diagnostics.FrameStats.DisplayLists { get; set; }PUBLICGETSET

Number of display lists submitted to the GPU.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.DrawCalls { get; set; }PUBLICGETSET

Number of draw calls.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.FullMaterialSets { get; set; }PUBLICGETSET

Number of full material sets (m_nNumMaterialSet minus similar sets, matching stats_display output).

Returns:double—

public string Sandbox.Diagnostics.FrameStats.GpuStatsSummary { get; set; }PUBLICGETSET

Multi-line GPU resource summary from the render device (memory mgr, framebuffers, pipeline cache).

Returns:string—

public double Sandbox.Diagnostics.FrameStats.InitialMaterialChanges { get; set; }PUBLICGETSET

Number of initial material changes across both colour and shadow passes (first bind of a material this frame).

Returns:double—

public double Sandbox.Diagnostics.FrameStats.InitialShadowMaterialChanges { get; set; }PUBLICGETSET

Initial material changes that occurred in the shadow / depth-only pass specifically.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.MaterialChanges { get; set; }PUBLICGETSET

Number of non-shadow (colour pass) material changes.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.MaterialComputes { get; set; }PUBLICGETSET

Number of material compute invocations.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.ObjectsCulledByFade { get; set; }PUBLICGETSET

Number of objects culled by distance fading.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.ObjectsCulledByScreenSize { get; set; }PUBLICGETSET

Number of objects culled by screen size.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.ObjectsCulledByVis { get; set; }PUBLICGETSET

Number of objects culled by static visibility.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.ObjectsFading { get; set; }PUBLICGETSET

Number of objects currently being distance-faded.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.ObjectsPreCull { get; set; }PUBLICGETSET

Number of objects considered before culling.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.ObjectsRendered { get; set; }PUBLICGETSET

Number of objects that passed all cull checks and were rendered.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.ObjectsTested { get; set; }PUBLICGETSET

Number of objects that were tested against cull checks.

Returns:double—

public int Sandbox.Diagnostics.FrameStats.PendingStreamingRequests { get; set; }PUBLICGETSET

In-flight resource streaming-data requests. Sustained > 0 indicates streaming pressure (mips/data still loading).

Returns:int—

public double Sandbox.Diagnostics.FrameStats.PrimaryContexts { get; set; }PUBLICGETSET

Number of primary render contexts created.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.RenderBatchDraws { get; set; }PUBLICGETSET

Number of render batch draw lists submitted.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.RenderTargetResolves { get; set; }PUBLICGETSET

Number of render target resolves.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.SceneViewsRendered { get; set; }PUBLICGETSET

Number of scene views rendered.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.SecondaryContexts { get; set; }PUBLICGETSET

Number of secondary render contexts created.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.ShadowedLightsInView { get; set; }PUBLICGETSET

Number of lights in view that cast shadows.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.ShadowMaps { get; set; }PUBLICGETSET

Number of shadow maps rendered this frame.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.ShadowMaterialChanges { get; set; }PUBLICGETSET

Number of depth-only (shadow pass) material changes.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.ShadowMaterialChangesAlphaTested { get; set; }PUBLICGETSET

Number of depth-only alpha-tested material changes.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.SimilarMaterialSets { get; set; }PUBLICGETSET

Number of "similar" material sets (cheap reset against a near-identical material).

Returns:double—

public double Sandbox.Diagnostics.FrameStats.TextureOnlyMaterialSets { get; set; }PUBLICGETSET

Number of texture-only material sets (only texture bindings changed).

Returns:double—

public ulong Sandbox.Diagnostics.FrameStats.TexturePoolLimitBytes { get; set; }PUBLICGETSET

Texture pool limit (dynamically tuned against GPU heap budget by the texture streamer), in bytes.

Returns:ulong—

public ulong Sandbox.Diagnostics.FrameStats.TexturePoolNonEvictableBytes { get; set; }PUBLICGETSET

Portion of the texture pool occupied by non-evictable textures, in bytes.

Returns:ulong—

public ulong Sandbox.Diagnostics.FrameStats.TexturePoolUsedBytes { get; set; }PUBLICGETSET

Current texture pool memory usage as tracked by the texture streamer, in bytes.

Returns:ulong—

public double Sandbox.Diagnostics.FrameStats.TrianglesRendered { get; set; }PUBLICGETSET

Total number of triangles rendered.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.UnbatchableMaterialDraws { get; set; }PUBLICGETSET

Number of unbatchable material draws (materials that opted out of batching for the frame).

Returns:double—

public double Sandbox.Diagnostics.FrameStats.UniqueMaterials { get; set; }PUBLICGETSET

Number of unique materials seen this frame.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.UnshadowedLightsInView { get; set; }PUBLICGETSET

Number of lights in view that don't cast shadows.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.VfxEvals { get; set; }PUBLICGETSET

Number of material Vfx evaluations this frame.

Returns:double—

public double Sandbox.Diagnostics.FrameStats.VfxRuleChecks { get; set; }PUBLICGETSET

Number of material Vfx rule checks this frame.

Returns:double—

On this page

Propertiespublic System.Double Sandbox.Diagnostics.FrameStats.AggregateIndirectFragments { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.AggregateIndirectSubmits { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.AggregateObjectDrawCalls { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.AggregateObjectDraws { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.AggregateObjectsFullyCulled { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.AnimatableObjectDraws { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.BaseObjectDraws { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.ConstantBufferBytes { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.ConstantBufferUpdates { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.CopyMaterialChanges { get; set; }public static Sandbox.Diagnostics.FrameStats Sandbox.Diagnostics.FrameStats.Current { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.DisplayLists { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.DrawCalls { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.FullMaterialSets { get; set; }public System.String Sandbox.Diagnostics.FrameStats.GpuStatsSummary { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.InitialMaterialChanges { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.InitialShadowMaterialChanges { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.MaterialChanges { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.MaterialComputes { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.ObjectsCulledByFade { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.ObjectsCulledByScreenSize { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.ObjectsCulledByVis { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.ObjectsFading { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.ObjectsPreCull { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.ObjectsRendered { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.ObjectsTested { get; set; }public System.Int32 Sandbox.Diagnostics.FrameStats.PendingStreamingRequests { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.PrimaryContexts { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.RenderBatchDraws { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.RenderTargetResolves { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.SceneViewsRendered { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.SecondaryContexts { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.ShadowedLightsInView { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.ShadowMaps { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.ShadowMaterialChanges { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.ShadowMaterialChangesAlphaTested { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.SimilarMaterialSets { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.TextureOnlyMaterialSets { get; set; }public System.UInt64 Sandbox.Diagnostics.FrameStats.TexturePoolLimitBytes { get; set; }public System.UInt64 Sandbox.Diagnostics.FrameStats.TexturePoolNonEvictableBytes { get; set; }public System.UInt64 Sandbox.Diagnostics.FrameStats.TexturePoolUsedBytes { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.TrianglesRendered { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.UnbatchableMaterialDraws { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.UniqueMaterials { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.UnshadowedLightsInView { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.VfxEvals { get; set; }public System.Double Sandbox.Diagnostics.FrameStats.VfxRuleChecks { get; set; }Metadata