I have r.Vulkan.EnablePSOFileCacheWhenPrecachingActive=True and r.ShaderPipelineCache.SaveBoundPSOLog=True in my DefaultEngine.ini and I’m testing in a packaged build, so it should open the FileCache and automatically begin to log PSOs. With those two settings and a packaged build, I am seeing an SF_VULKAN upipelinecache.
I don’t have the chunked PSO cache on, but I’m not seeing anything in the code that should interfere with the file cache. It shouldn’t be required for bundled PSO collection, though.
Precaching is the other PSO system. It attempts to preempt the use of PSOs and precompile the PSO on the fly before use. This generally kicks off requests in PostLoad, so you may want to let assets load before rendering them if you wish to minimise hitch potential from dynamically spawned objects.
It’s not needed for FileCache, but they can work together safely. If you want to rely on Precaching more than Filecache, you can specify r.ShaderPipelineCache.ExcludePrecachePSO=1 so the Filecache only contains PSOs that Precache system missed.
If you want to read more about the two PSO systems and their usages, I’ve listed a few prior cases that may be of interest.
[Content removed]
[Content removed]
[Content removed]
[Content removed]
Best regards,
Chris