r.ShaderpipelineCache.StartupMode=0 is a option for stop precompile using PSO Caching, but it doesn't work properly.
After CL-5837455, FShaderPipelineCache::ResumeBatching() is always called in FEngineLoop::Init(). So precompile always run if using r.ShaderpipelineCache.StartupMode=0.
FEngineLoop::Init() { ... FShaderPipelineCache::PauseBatching(); { #if defined(WITH_CODE_GUARD_HANDLER) && WITH_CODE_GUARD_HANDLER void CheckImageIntegrity(); CheckImageIntegrity(); #endif } { SCOPED_BOOT_TIMING("FCoreDelegates::OnFEngineLoopInitComplete.Broadcast()"); FCoreDelegates::OnFEngineLoopInitComplete.Broadcast(); } FShaderPipelineCache::ResumeBatching(); ... }
This issue can be solved by a following code.
void FShaderPipelineCache::Initialize(EShaderPlatform Platform) { check(ShaderPipelineCache == nullptr); if (FShaderCodeLibrary::IsEnabled()) { FPipelineFileCache::Initialize(GetGameVersionForPSOFileCache()); ShaderPipelineCache = new FShaderPipelineCache(Platform); // add if (CVarPSOFileCacheStartupMode.GetValueOnAnyThread() == 0) { // for ShaderPipelineCache->PausedCount++; PauseBatching(); } // add } }
expect : Precompile using PSO Caching doesn't work
result : it work
I am not able to find world outliner how to enable it?
How to achieve HLSL Multiple Render Target in Material blueprints?
What method is used to fill polygonal regions when drawing spline mesh at run time?
How can i modify the param name in EQS node
Undefined sysmbol: typeinfo for AActor when cross-compile linux dedicated server on windows
An error occurred while trying to generate project files !?
Delay nodes occasionally don't fire the "Completed" output in a nativized build
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-99713 in the post.
1 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 4.25.3 |
Created | Sep 16, 2020 |
---|---|
Resolved | Jun 8, 2022 |
Updated | Jun 14, 2022 |