We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Mobile game now requires massive amount of PSO to pre-warm to prevent CPU hitching during game play.
Even after removing redundant permutations, it still requires minutes to warmup the cache on mainstream devices.
Luckily, UE5 gives us a solution, we can compile PSO in async style in different android services(A service is a long running background task in Android, kind like a separate process.) to speed up the process.
https://github.com/EpicGames/UnrealEngine/commit/aa7ba3ecfd05d3d2b9a12c9d2d4131b9d78e3a42
https://github.com/EpicGames/UnrealEngine/commit/bde84ad858735d44180a1c9e1a749a1350a4906f
This works fine in OpenGL RHI, it gives us a 2x compile time boost.
But it's worse in Vulkan RHI. Both approach looks identical, i wonder if there's any restriction in vulkan's driver implementation that limits this use pattern.
Thank you for returning to share the solution you found with the community!