PSO driver cache not working as expected

Hello folks

We have recently implemented the PSO loading screen for our game (using 5.6).

We have ~10k PSOs to precompile. It takes several minutes to compile them.

We have also precaching enabled (r.PSOPrecaching=1).

We expect a long compilation time the first time that we compile, but the next runs should run significatively faster (from several minutes to seconds).

At least, this is what happened in previous versions of the engine.

In 5.6 all runs seem to take the same time. We are experimenting the same issue on Nvidia or AMD gpus.

We are using r.ShaderPipelineCache.StartupMode=0 to control when to start the compilation but we have tested with r.ShaderPipelineCache.StartupMode=1 or 2 and the same issue happens.

We have seen this post and we are already using 5.6

[Content removed]

Could you please help us?

Thanks in advance

I found the problem: another system (common ui loading screen) set the BatchMode to background. Calling FShaderPipelineCache::SetBatchMode(FShaderPipelineCache::BatchMode::Fast); before ResumeBatching fixed the issue.

Hi Sergi, I am glad you were able to find a solution to your problem. I will go ahead and close out the ticket then.