Yes precaching system.
Thank you for the info. But I want to run a scenario past you and understand what these titles are doing.
I will pick some latest titles like KEEPER, OUTER WORLDS 2 both built with UE5. Plus many more. I even believe FORTNITE does this too.
When the game boots they will give a message “Compiling Shaders” which I presume is compiling PSO’s really.
They will show a progress bar usually.
So how are they handling this under the hood.
One idea:
They are checking for FShaderPipelineCache::NumPrecompilesRemaining() to not be ‘0’, if not zero then display a screen showing the progress bar. Depending on title depends on time to do all the work.
Or is it like I said checking for driver updates themselves and kicking off a pre-compile or deleting the cache, … ???
To capture all PSO’s seems like these should be all set to ‘true’.
r.PSOPrecache.Components
r.PSOPrecache.Resources
r.PSOPrecache.GlobalShaders
Should these be ‘true’?
‘r.PSOPrecache.Resources’ defaults to ‘off’.
r.PSOPrecache.GlobalShaders defaults to ‘off’.
The verbage here doesn’t make full sense.
TEXT("r.PSOPrecache.GlobalShaders"),
0,
TEXT("Precache global shaders during startup (disable(0) - only compute shaders(1) - all global shaders(2).\n")
TEXT("Note: r.PSOPrecache.GlobalShaders == 2 is only supported when IsDynamicShaderPreloadingEnabled is enabled."),
What is ‘IsDynamicShaderPreloadingEnabled’? Find no reference.
Want to get rid of the issues when levels load and items pop in.