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

#include <ShaderCompiler.h>

Public Member Functions

FShaderCompilerCountersoperator+= (const FShaderCompilerCounters &Other)
 

Public Attributes

double AccumulatedLocalWorkerIdleTime = 0.0
 
double TimesLocalWorkersWereIdle = 0
 
int64 JobsAssigned = 0
 
int64 JobsCompleted = 0
 
double AccumulatedPendingTime = 0
 
double MaxPendingTime = 0
 
double AccumulatedJobExecutionTime = 0
 
double MaxJobExecutionTime = 0
 
double AccumulatedJobLifeTime = 0
 
double MaxJobLifeTime = 0
 
double AccumulatedTaskSubmitJobs = 0.0
 
double AccumulatedTaskSubmitJobsStall = 0.0
 
int64 LocalJobBatchesSeen = 0
 
int64 TotalJobsReportedInLocalJobBatches = 0
 
int64 DistributedJobBatchesSeen = 0
 
int64 TotalJobsReportedInDistributedJobBatches = 0
 
int32 MinShaderCodeSize = 0
 
int32 MaxShaderCodeSize = 0
 
uint64 AccumulatedShaderCodeSize = 0
 
uint64 NumAccumulatedShaderCodes = 0
 
uint32 ShaderMapDDCMisses = 0
 
uint32 ShaderMapDDCHits = 0
 
uint64 TotalCacheSearchAttempts = 0
 
uint64 TotalCacheHits = 0
 
uint32 TotalCacheDuplicates = 0
 
uint32 TotalCacheDDCQueries = 0
 
uint32 TotalCacheDDCHits = 0
 
uint64 UniqueCacheInputHashes = 0
 
uint64 UniqueCacheOutputs = 0
 
uint64 CacheMemUsed = 0
 
uint64 CacheMemBudget = 0
 
uint32 MaxRemoteAgents = 0
 
uint32 MaxActiveAgentCores = 0
 

Member Function Documentation

◆ operator+=()

FShaderCompilerCounters & FShaderCompilerCounters::operator+= ( const FShaderCompilerCounters Other)
inline

Member Data Documentation

◆ AccumulatedJobExecutionTime

double FShaderCompilerCounters::AccumulatedJobExecutionTime = 0

Amount of time job spent being processed by the worker.

◆ AccumulatedJobLifeTime

double FShaderCompilerCounters::AccumulatedJobLifeTime = 0

Amount of time job spent being processed overall.

◆ AccumulatedLocalWorkerIdleTime

double FShaderCompilerCounters::AccumulatedLocalWorkerIdleTime = 0.0

This tracks accumulated wait time from local workers during the lifetime of the stats.

Wait time is only counted for local workers that are alive and not between their invocations

◆ AccumulatedPendingTime

double FShaderCompilerCounters::AccumulatedPendingTime = 0

Amount of time a job had to spent in pending queue (i.e. waiting to be assigned to a worker).

◆ AccumulatedShaderCodeSize

uint64 FShaderCompilerCounters::AccumulatedShaderCodeSize = 0

Total accumulated size of all output shader codes.

◆ AccumulatedTaskSubmitJobs

double FShaderCompilerCounters::AccumulatedTaskSubmitJobs = 0.0

Time spent in tasks generated in FShaderJobCache::SubmitJobs, plus stall time on mutex locks in those tasks

◆ AccumulatedTaskSubmitJobsStall

double FShaderCompilerCounters::AccumulatedTaskSubmitJobsStall = 0.0

◆ CacheMemBudget

uint64 FShaderCompilerCounters::CacheMemBudget = 0

Memory budget allocated for the job cache

◆ CacheMemUsed

uint64 FShaderCompilerCounters::CacheMemUsed = 0

Total amount of memory currently used by the job cache

◆ DistributedJobBatchesSeen

int64 FShaderCompilerCounters::DistributedJobBatchesSeen = 0

Number of distributed job batches seen.

◆ JobsAssigned

int64 FShaderCompilerCounters::JobsAssigned = 0

Number of jobs assigned to workers, no matter if they completed or not - used to average pending time.

◆ JobsCompleted

int64 FShaderCompilerCounters::JobsCompleted = 0

Total number jobs completed.

◆ LocalJobBatchesSeen

int64 FShaderCompilerCounters::LocalJobBatchesSeen = 0

Number of local job batches seen.

◆ MaxActiveAgentCores

uint32 FShaderCompilerCounters::MaxActiveAgentCores = 0

Maximum number of CPU cores active across all remote agents.

◆ MaxJobExecutionTime

double FShaderCompilerCounters::MaxJobExecutionTime = 0

Max amount of time any single job spent being processed by the worker.

◆ MaxJobLifeTime

double FShaderCompilerCounters::MaxJobLifeTime = 0

Max amount of time any single job spent being processed overall.

◆ MaxPendingTime

double FShaderCompilerCounters::MaxPendingTime = 0

Max amount of time any single job was pending (waiting to be assigned to a worker).

◆ MaxRemoteAgents

uint32 FShaderCompilerCounters::MaxRemoteAgents = 0

Maximum number of remote agents used during compilation.

◆ MaxShaderCodeSize

int32 FShaderCompilerCounters::MaxShaderCodeSize = 0

Size of the largest output shader code.

◆ MinShaderCodeSize

int32 FShaderCompilerCounters::MinShaderCodeSize = 0

Size of the smallest output shader code.

◆ NumAccumulatedShaderCodes

uint64 FShaderCompilerCounters::NumAccumulatedShaderCodes = 0

Number of accumulated output shader codes.

◆ ShaderMapDDCHits

uint32 FShaderCompilerCounters::ShaderMapDDCHits = 0

Total number of DDC hits on shader maps.

◆ ShaderMapDDCMisses

uint32 FShaderCompilerCounters::ShaderMapDDCMisses = 0

Total number of DDC misses on shader maps.

◆ TimesLocalWorkersWereIdle

double FShaderCompilerCounters::TimesLocalWorkersWereIdle = 0

How many times we registered idle time?

◆ TotalCacheDDCHits

uint32 FShaderCompilerCounters::TotalCacheDDCHits = 0

Total number of DDC hits in the job cache (per shader DDC, as opposed to shader map DDC stats above).

◆ TotalCacheDDCQueries

uint32 FShaderCompilerCounters::TotalCacheDDCQueries = 0

Total number of DDC queries in the job cache (per-shader DDC).

◆ TotalCacheDuplicates

uint32 FShaderCompilerCounters::TotalCacheDuplicates = 0

Total number of duplicate jobs (input hash matches an in-flight job, processed when in-flight job completes)

◆ TotalCacheHits

uint64 FShaderCompilerCounters::TotalCacheHits = 0

Total number of hits in the job cache (i.e. input hashes seen >1 time)

◆ TotalCacheSearchAttempts

uint64 FShaderCompilerCounters::TotalCacheSearchAttempts = 0

Total number of job cache query attempts.

◆ TotalJobsReportedInDistributedJobBatches

int64 FShaderCompilerCounters::TotalJobsReportedInDistributedJobBatches = 0

Total jobs in local job batches.

◆ TotalJobsReportedInLocalJobBatches

int64 FShaderCompilerCounters::TotalJobsReportedInLocalJobBatches = 0

Total jobs in local job batches.

◆ UniqueCacheInputHashes

uint64 FShaderCompilerCounters::UniqueCacheInputHashes = 0

Total number of unique input hashes seen in job cache queries

◆ UniqueCacheOutputs

uint64 FShaderCompilerCounters::UniqueCacheOutputs = 0

Total number of unique job outputs stored in the cache. Outputs are deduplicated based on a content hash so this number is in practice smaller than UniqueCacheInputHashes.


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