UDN
Search public documentation

StatsDescriptions
Licensees can log in.

Red links require licensee log in.

Interested in the Unreal engine?
Check out the licensing page.

Questions about UDN itself?
Contact the UDN Staff

Stat Command Descriptions

Document Summary: Detailed description of stats supported by the engine.

Document Changelog: Created by Daniel Wright.

Overview

This document contains a breakdown of the various stat commands supported by the engine. These are available in all platforms. Please see StatsDescriptionsXenon and StatsDescriptionsPS3 for console-specific stats.

Commands are executed from the console window as follows:

stat <command>


Standalone

STAT FPS

STAT LEVELS

Stat levels displays a list of currently active levels and displays their status through color coding. Streaming levels are grouped under the persistant level. The number of seconds next to the level name is the time it took from load request to load finish.

Color Coding

Red - Level is loaded and visible.
Orange - Level is in the process of being made visible.
Yellow - Level is loaded but not visible.
Blue - Level is unloaded but still resident in memory, will be cleaned up when garbage collection occurs.
Green - Level is unloaded.
Purple - Level is preloading.

STAT UNIT


Groups

STAT ANIM

STAT ASYNCIO

STAT AUDIO

Audio Update Time: total time updating all things audio (overall time taken in AudioDevice::Update).

Gathering WaveInstances: collecting, sorting and prioritizing all potential audio sources.

Processing Sources: stopping and starting the sound sources that will be heard.

Source Init: initialization of all sound sources.

Buffer Creation: creation of a sound asset (e.g. Upload of PCM data to OpenAL).

Updating Sources: time taken to update the sound sources (position, velocity, volume, pitch, etc.).

Updating Effects: time taken to apply audio effects (reverb, LPF, EQ).

Prepare Vorbis Decompression: initializing the vorbis stream for decompression.

Decompress Audio: time taken to decompress audio (currently, only vorbis).

Prepare Audio Decompression: initializing of sound decompression in general (currently, only vorbis data).

Decompress Vorbis: time taken decompressing vorbis data.

Audio Memory Used: total amount of memory used for all sound assets. Does not include any workspace or internal buffers.

Audio Buffer Time: number of seconds of stored sound data.

Audio Buffer Time (w/ Channels): number of seconds of stored mono sound data.

Audio Components: number of active sounds being maintained for processing(ambient sounds all over the map, player sounds etc).

Audio Sources: number of audio components that are audible and high enough priority to hear.

Wave Instances: number of sound waves being processed.

Wave Instances Dropped: number of sounds not allocated to a sound source (as they are inaudible).

CPU Decompressed Wave Instances: number of sources that are decompressing a Vorbis sound on the fly.

STAT BEAMPARTICLES

STAT CANVAS

STAT CHARACTERLIGHTING

STAT COLLISION

STAT D3D10RHI

STAT D3D9RHI

STAT DECALS

STAT DEFAULTSTATGROUP

STAT ENGINE

STAT FACEFX

STAT FLUIDS

STAT FPSCHART

STAT GAME

STAT MEMLEAN

STAT MEMORY

  • Texture Memory Used: Total amount of memory used for all textures, including mip-maps.
  • Lightmap Memory (Texture): How much of the texture memory is used by static lightmaps.
  • Shadowmap Memory (Texture): How much of the texture memory is used by static shadowmaps.

STAT XBOXMEMORY

Only available when running on PC. Shows what the current memory usage would be on an Xbox 360.

  • Texture Memory Used: Total amount of memory used for all textures, including mip-maps.
  • Lightmap Memory (Texture): How much of the texture memory is used by static lightmaps.
  • Shadowmap Memory (Texture): How much of the texture memory is used by static shadowmaps.

STAT MEMORYCHURN

STAT MESHPARTICLES

STAT NET

Lists network traffic including number of bytes sent/received, packets in/out, packet loss, etc.

STAT OBJECT

STAT OCTREE

STAT PARTICLES

STAT PATHFINDING

Lists time taken to execute various pathfinding functions.

STAT PHYSICS

STAT PHYSICSCLOTH

STAT PHYSICSFIELDS

STAT PHYSICSFLUID

STAT SCENERENDERING

Visibility

Occlusion query time: The time spent drawing the bounding boxes which are used to determine whether a primitive is occluded.

Occlusion stall time: The time spent waiting for the occlusion query results to be available from the GPU. If the GPU is taking longer to render a frame than the GPU, the CPU may spend time here waiting for it to catch up.

Occlusion read time: The time spent reading occlusion query results back from the GPU.

InitViews time: The time spent in InitViews; this function performs view frustum culling, checks show flags, and creates the visibility bit arrays and lists.

Dynamic shadow setup time: The time spent setting up projected depth buffer shadows. This should be very low unless you have dynamic shadows cast by lights which also affect many static primitives. In that case, the static primitives are checked for visibility in a frustum between the dynamic shadow subject and the light. The primitives inside the frustum are used to cast a projected shadow on the dynamic shadow subject from the static primitives. Finding the primitives in the frustum can be expensive if many static primitives are affected by the light; e.g. a directional light which affects most primitives in the level.

Occluded primitives: The number of primitives which are inside the view frustum but not drawn due to occlusion culling.

Occlusion queries: The number of occlusion queries which were made to cull occluded primitives.

Projected shadows: The number of projected shadow depth buffers that were drawn. This is up to two projected shadows/subject, for lights which also affect static primitives and create a projected shadow for the primitives shadowing the subject.

Visible static mesh elements: The number of static mesh elements that were drawn. A static mesh element is a non-view-dependent mesh element which is part of an actor that has bStatic=TRUE. It corresponds to a single a GPU draw command.

Visible dynamic primitives: The number of dynamic primitives that were drawn. A dynamic primitive is any primitive which is part of an actor that has bStatic=FALSE, bMovable=TRUE, or has view-dependent elements.

Pipeline timing

Total CPU rendering time: The time spent by the rendering thread on the CPU to render the frame.

Total GPU rendering time: The time spent by the rendering thread on the GPU to render the frame.

Internal timing

Depth drawing time

Emissive drawing time

Shadow volume drawing time

Light function drawing time

Lighting drawing time

Shadow drawing time

Translucency drawing time

Translucency Setup Time: The time to add translucent primitives to the scene. The most significant cost here is finding the FogVolumes that each translucent object is intersecting and then sorting the combined list of translucent objects and fog volumes.

STAT SCENEUPDATE

STAT SHADERCOMPILING

All timers are in seconds and count the time since startup.

Total Material Shader Compiling Time: Time spent compiling material shaders

Total Global Shader Compiling Time: Time spent compiling global shaders

RHI Compile Time: Time spent in platform specific compilers

CRCing Shader Files: Time spent calculating CRC's for shader files. Some of the 'Loading Shader Files' time is included in this.

Loading Shader Files: Time spent loading shader files off of the harddrive

HLSL Translation: Time spent translating material expressions into HLSL

These all correspond with the UMaterial usage flags and just show how many shaders of each type got compiled.

  • Num Total Material Shaders
  • Num Special Material Shaders
  • Num Terrain Material Shaders
  • Decal Material Shaders
  • Num Particle Material Shaders
  • Num Skinned Material Shaders
  • Num Lit Material Shaders
  • Num Unlit Material Shaders
  • Num Transparent Material Shaders
  • Num Opaque Material Shaders
  • Num Masked Material Shaders

Num Shaders w/ Resources Initialized: Number of shaders that were actually created through the RHI. If the BaseEngine.ini option 'bInitializeShadersOnDemand' is False, all shaders will be initialized with the RHI, otherwise they will be initialized on demand. Initializing on demand results in about 1/4th as many shaders getting initialized, but can cause in-game hitches on PC depending on what the driver is doing at initializtion time.

STAT STATSYSTEM

STAT STREAMING

Streaming Textures: Number of streamable textures. This excludes textures that are marked as NeverStream, have too few miplevels to be streamable or were not serialized from a persistent archive.

Intermediate Textures: Number of intermediate textures in-flight used to hold temporary data while streaming or copying miplevels is in progress as we can't operate on the resource used for rendering.

Streaming Textures Size: Current size of streamable textures.

Textures Max Size: Maximum size of streamable textures if they all had their miplevels streamed in.

Intermediate Textures Size: Size of intermediate textures.

Pool Alloc Size: Where supported, this stat holds the size of all textures allocated in the texture pool, including non-streamable textures.

Pool Avail Size: Where supported, this stat is the size available in the texture pool. This is not contigous size but rather the total of all available fragments.

Request Size Current Frame: Size of intermediate memory required to fulfill requests issued this frame.

Request Size Total: Lifetime stat of intermediate memory required to fulfill requests issued.

Requests In Cancelation Phase: Texture requests that are currently pending cancelation.

Requests In Update Phase: Texture requests currently waiting for miplevels to either be copied or read from disc.

Requests In Finalize Phase: Texture requests waiting for the texture switcheroo.

Streaming fudge factor: Where texture pools are support, this value in the range of 1..10 indicates how thinly spread the pool is. A value of 1 indicates that all textures fit into the pool at the requested miplevel and values > 1 mean that miplevels had to be dropped due to memory constraints. The higher the number, the worse the pressure on the texture pool. This is the number we have our LDs watch when optimizing texture memory usage for consoles.

Game Thread Update Time: Time spent in the game thread figuring out which miplevels to stream and issueing requests.

Rendering Thread Update Time: Time spent in rendering thread kicking off file I/O, locking textures, copying miplevels and such.

Rendering Thread Finalize Time: Time spent in rendering thread unlocking textures and performing the switcheroo. On the PC D3D needs to upload its shadow copy to the GPU so this might show up.

Audio Resource Creation: Time spent creating audio resources.

STAT THREADING

STAT TRAILPARTICLES

STAT UI