Starting with PSO precaching paused / disabled

Hi,

It is possible I missed the functionality however, if it is not possible right now it would be nice to be able to start with PSO precaching enabled but paused (similar to PSO cache startup mode).

The issue we have is pso precaching occurring from the start of the engine can cause some stutters in the introduction videos played through the movie player. We have setup a transition level in place to reduce the amount of PSO precaching requests and start PSO precaching of the global shaders once the videos have finished playing to help a bit.

Initially we had PSO precache fully disabled at start however we did miss lots of UI materials that were loaded by loading the transition level (an empty level), these ended up being misses during pso precaching when loading the proper start level.

I would assume async PSO collection tasks could be issued right away, but the PSO precache tasks would wait for a ‘resume’ request.

Thanks in advance,

Hugo

Hi there,

Unfortunately it doesn’t look like the functionality you want exists right now. Have you considered querying UKismetRenderingLibrary::NumPrecompilingPSOsRemaining to wait to display your movies until after precaching has finished instead? Also have you profiled using Unreal Insights and the `Log LogPSOHitching Verbose` command? This might give you more insight into what references in your transition level are causing the PSO compilation hitches. Then you can try to remove these references from the transition level if possible.

It might be possible to add something like the functionality you want. But it would require a bit of a deep dive into the source code to modify this. Also you might run into issues where your movies just don’t display, because the PSOs aren’t compiled yet. Other than this, I would imagine it should be possible to do something like you suggested though, where the task can be created, but not immediately dispatched.

Let me know if you need anymore assistance with this,

Regards,

Lance Chaney.