UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FStatUnitData Struct Reference

#include <UnrealClient.h>

Public Member Functions

 FStatUnitData ()
 UE_BUILD_SHIPPING.
 
int32 DrawStat (FViewport *InViewport, FCanvas *InCanvas, int32 InX, int32 InY)
 

Public Attributes

float RenderThreadTime
 
float RenderThreadTimeCriticalPath
 
float GameThreadTime
 
float GameThreadTimeCriticalPath
 
float GPUFrameTime [MAX_NUM_GPUS]
 
float GPUClockFraction [MAX_NUM_GPUS]
 
float GPUUsageFraction [MAX_NUM_GPUS]
 
uint64 GPUMemoryUsage [MAX_NUM_GPUS]
 
float GPUExternalUsageFraction [MAX_NUM_GPUS]
 
uint64 GPUExternalMemoryUsage [MAX_NUM_GPUS]
 
float FrameTime
 
float RHITTime
 
float InputLatencyTime
 
float RawRenderThreadTime
 
float RawRenderThreadTimeCriticalPath
 
float RawGameThreadTime
 
float RawGameThreadTimeCriticalPath
 
float RawGPUFrameTime [MAX_NUM_GPUS]
 
float RawGPUClockFraction [MAX_NUM_GPUS]
 
float RawGPUUsageFraction [MAX_NUM_GPUS]
 
uint64 RawGPUMemoryUsage [MAX_NUM_GPUS]
 
float RawGPUExternalUsageFraction [MAX_NUM_GPUS]
 
uint64 RawGPUExternalMemoryUsage [MAX_NUM_GPUS]
 
float RawFrameTime
 
float RawRHITTime
 
float RawInputLatencyTime
 
double LastTime
 
int32 CurrentIndex
 
TArray< floatRenderThreadTimes
 
TArray< floatGameThreadTimes
 
TArray< floatGPUFrameTimes [MAX_NUM_GPUS]
 
TArray< floatFrameTimes
 
TArray< floatRHITTimes
 
TArray< floatInputLatencyTimes
 
DynamicRenderScaling::TMap< TArray< float > > ResolutionFractions
 

Static Public Attributes

static const int32 NumberOfSamples = 200
 

Detailed Description

Data needed to display perframe stat tracking when STAT UNIT is enabled

Constructor & Destructor Documentation

◆ FStatUnitData()

FStatUnitData::FStatUnitData ( )
inline

UE_BUILD_SHIPPING.

UE_BUILD_SHIPPING

Member Function Documentation

◆ DrawStat()

int32 FStatUnitData::DrawStat ( FViewport InViewport,
FCanvas InCanvas,
int32  InX,
int32  InY 
)

Render function to display the stat

If we're in fixed time step mode, FApp::GetCurrentTime() will be incorrect for benchmarking

Use the DiffTime we computed last frame, because it correctly handles the end of frame idling and corresponds better to the other unit times.

Number of milliseconds the gamethread was used last frame.

Number of milliseconds the renderthread was used last frame.

Number of milliseconds the GPU was busy last frame.

Member Data Documentation

◆ CurrentIndex

int32 FStatUnitData::CurrentIndex

◆ FrameTime

float FStatUnitData::FrameTime

◆ FrameTimes

TArray<float> FStatUnitData::FrameTimes

◆ GameThreadTime

float FStatUnitData::GameThreadTime

◆ GameThreadTimeCriticalPath

float FStatUnitData::GameThreadTimeCriticalPath

◆ GameThreadTimes

TArray<float> FStatUnitData::GameThreadTimes

◆ GPUClockFraction

float FStatUnitData::GPUClockFraction[MAX_NUM_GPUS]

◆ GPUExternalMemoryUsage

uint64 FStatUnitData::GPUExternalMemoryUsage[MAX_NUM_GPUS]

◆ GPUExternalUsageFraction

float FStatUnitData::GPUExternalUsageFraction[MAX_NUM_GPUS]

◆ GPUFrameTime

float FStatUnitData::GPUFrameTime[MAX_NUM_GPUS]

◆ GPUFrameTimes

TArray<float> FStatUnitData::GPUFrameTimes[MAX_NUM_GPUS]

◆ GPUMemoryUsage

uint64 FStatUnitData::GPUMemoryUsage[MAX_NUM_GPUS]

◆ GPUUsageFraction

float FStatUnitData::GPUUsageFraction[MAX_NUM_GPUS]

◆ InputLatencyTime

float FStatUnitData::InputLatencyTime

◆ InputLatencyTimes

TArray<float> FStatUnitData::InputLatencyTimes

◆ LastTime

double FStatUnitData::LastTime

Time that has transpired since the last draw call

◆ NumberOfSamples

const int32 FStatUnitData::NumberOfSamples = 200
static

◆ RawFrameTime

float FStatUnitData::RawFrameTime

◆ RawGameThreadTime

float FStatUnitData::RawGameThreadTime

◆ RawGameThreadTimeCriticalPath

float FStatUnitData::RawGameThreadTimeCriticalPath

◆ RawGPUClockFraction

float FStatUnitData::RawGPUClockFraction[MAX_NUM_GPUS]

◆ RawGPUExternalMemoryUsage

uint64 FStatUnitData::RawGPUExternalMemoryUsage[MAX_NUM_GPUS]

◆ RawGPUExternalUsageFraction

float FStatUnitData::RawGPUExternalUsageFraction[MAX_NUM_GPUS]

◆ RawGPUFrameTime

float FStatUnitData::RawGPUFrameTime[MAX_NUM_GPUS]

◆ RawGPUMemoryUsage

uint64 FStatUnitData::RawGPUMemoryUsage[MAX_NUM_GPUS]

◆ RawGPUUsageFraction

float FStatUnitData::RawGPUUsageFraction[MAX_NUM_GPUS]

◆ RawInputLatencyTime

float FStatUnitData::RawInputLatencyTime

◆ RawRenderThreadTime

float FStatUnitData::RawRenderThreadTime

Raw equivalents of the above variables

◆ RawRenderThreadTimeCriticalPath

float FStatUnitData::RawRenderThreadTimeCriticalPath

◆ RawRHITTime

float FStatUnitData::RawRHITTime

◆ RenderThreadTime

float FStatUnitData::RenderThreadTime

Unit frame times filtered with a simple running average

◆ RenderThreadTimeCriticalPath

float FStatUnitData::RenderThreadTimeCriticalPath

◆ RenderThreadTimes

TArray<float> FStatUnitData::RenderThreadTimes

◆ ResolutionFractions

DynamicRenderScaling::TMap<TArray<float> > FStatUnitData::ResolutionFractions

◆ RHITTime

float FStatUnitData::RHITTime

◆ RHITTimes

TArray<float> FStatUnitData::RHITTimes

The documentation for this struct was generated from the following files: