Hey,
in Unreal 5.4 we logged the pso shader files with -logpso and followed the “Creating a Bundled PSO Cache” documentation. Since we moved to Unreal 5.5 it stopped working and we are wondering why. Was there any change to the process? Is there a way to figure out where the process fails?
We are using Vulkan as our RHI.
All the best
Flo
Hello there,
It appears that Vulkan RHIs no longer enable PSO FileCache (the bundled system) when PSO Precaching is active. This can be changed by setting r.Vulkan.EnablePSOFileCacheWhenPrecachingActive to true.
I hope that helps.
Best regards,
Chris
Hi,
thank you for the response. I tried this setting already, but I was getting a different file format, will check again.
Do I also need these:
r.Vulkan.UseChunkedPSOCache = 1
r.Vulkan.AllowPSOPrecaching = 1
Best regards,
Flo
I checked again, the only file that gets written out with these settings is RHICache\Vulkan\SF_VULKAN_SM5.a5b61d75.10de.2560\VulkanPSOChunks.
Thank you, we got it working this way
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
Fantastic news!
If you have any further questions, please don’t hesitate to ask. Otherwise, would you mind if I close this case for now?
Best regards,
Chris