r.PSOPrecache.ProxyCreationWhenPSOReady
r.PSOPrecache.ProxyCreationWhenPSOReady
#Overview
name: r.PSOPrecache.ProxyCreationWhenPSOReady
This variable is created as a Console Variable (cvar).
- type:
Var
- help:
Delay the component proxy creation when the requested PSOs for precaching are still compiling.\n 0: always create regardless of PSOs status (default)\n 1: delay the creation of the render proxy depending on the specific strategy controlled by r.PSOPrecache.ProxyCreationDelayStrategy\n
It is referenced in 2
C++ source files.
#Summary
#References in C++ code
#Callsites
This variable is referenced in the following C++ source code:
#Loc: <Workspace>/Engine/Source/Runtime/Engine/Private/PSOPrecache.cpp:33
Scope: file
Source code excerpt:
int32 GPSOProxyCreationWhenPSOReady = 1;
static FAutoConsoleVariableRef CVarPSOProxyCreationWhenPSOReady(
TEXT("r.PSOPrecache.ProxyCreationWhenPSOReady"),
GPSOProxyCreationWhenPSOReady,
TEXT("Delay the component proxy creation when the requested PSOs for precaching are still compiling.\n")
TEXT(" 0: always create regardless of PSOs status (default)\n")
TEXT(" 1: delay the creation of the render proxy depending on the specific strategy controlled by r.PSOPrecache.ProxyCreationDelayStrategy\n"),
ECVF_ReadOnly
);
#Loc: <Workspace>/Engine/Plugins/FX/Niagara/Source/Niagara/Private/NiagaraEmitter.cpp:3629
Scope (from outer to inner):
file
function FGraphEventArray FVersionedNiagaraEmitterData::PrecacheComputePSOs
Source code excerpt:
else if (GNiagaraEmitterComputePSOPrecacheMode == 2 || PipelineStateCache::IsPSOPrecachingEnabled() )
{
static IConsoleVariable* CVarPSOProxyCreationWhenPSOReady = IConsoleManager::Get().FindConsoleVariable(TEXT("r.PSOPrecache.ProxyCreationWhenPSOReady"));
bool bAddToPSOReadyGraphTasks = GNiagaraEmitterComputePSOPrecacheMode == 1 && CVarPSOProxyCreationWhenPSOReady && CVarPSOProxyCreationWhenPSOReady->GetInt() != 0;
for (int32 i=0; i < ShaderScript->GetNumPermutations(); ++i)
{
FRHIComputeShader* ComputeShader = ShaderScript->GetShaderGameThread(i).GetComputeShader();
FPSOPrecacheRequestResult PSOPrecacheRequestResult = PipelineStateCache::PrecacheComputePipelineState(ComputeShader, true);
if (PSOPrecacheRequestResult.AsyncCompileEvent != nullptr && bAddToPSOReadyGraphTasks)