Use case for PSO Bundles?

Hi there, I’m looking into our PSO strategy. I’ve read through the docs I could find, and I’m still finding it difficult to understand the use case for bundled PSO’s. I feel like I must be misinterpreting the docs somewhere. While I understand that Epic is fully invested in PSO precaching, there must be some use case for bundles.

I see from the bundling docs that “Platforms with fixed hardware usually neither need nor benefit from this higher-level PSO cache – they either have their own solutions or are able to avoid the runtime performance penalty altogether. Refer to the particular platform’s documentation if developing for such a platform.” This seems to suggest that Bundling is not appropriate, and indeed unnecessary, for most consoles. Though I am curious which consoles are the exception to this?

So PSO bundling is targeted at PCs?

I see from that and these other docs, that PSO’s must be gathered from different quality settings. However, PC games tend to have more quality knobs and dials than consoles. Additionally, I can’t find an inclusive list of all dials that would affect PSO generation. So if all potential knobs need to be run with unique settings, and possibly a unique combination of settings, it seems like bundled PSO’s aren’t appropriate for PC’s either.

Am I understanding both of these points correctly? Bundling isn’t needed for consoles, and has a combinatorial problem for PC’s?

[Attachment Removed]

Steps to Reproduce
n/a

[Attachment Removed]

Hi Jordan,

So the PSO bundling docs could definitely use an update, but we cannot mention the consoles in the public docs due to NDA restrictions with the console vendors. As far as I know, only two consoles could benefit from PSO bundling: the Steam Deck and the ROG Ally, though the latter will support Advanced Shader Delivery, which will supersede PSO bundling and precaching.

So if all potential knobs need to be run with unique settings, and possibly a unique combination of settings, it seems like bundled PSO’s aren’t appropriate for PC’s either.

Yes, creating and maintaining PSO bundles is work-intensive because you have to account for all factors that can affect PSO permutations. However, the work is worth the effort if you notice that the PSO precaching system is unable to prefetch and compile all your PSOs in time. I think that will depend on your profiling your project early and often to detect lapses in PSO coverage.

To keep it short, yes, you reached the right conclusion from the docs about PSO bundling and precaching, though I also wanted to highlight some potential nuances. I hope the info helps. Feel free to let me know if you have any follow-up questions.

[Attachment Removed]