The time to enter PIE for the very first time in Editor is expected to be slow with a cold DDC and no PSOs, however, after re-launching the Editor, though entering PIE for the first time can take a long time for large projects as files are loaded into memory, it should be much faster than that very first PIE where the DDC and PSOs were compiled and written to disk.
I’m firing up City Sample to verify this hasn’t regressed, but you should be able to verify this in your setup by timing entering PIE the first time in the Editor with -noshaderddc and -clearPSODriverCache, and then restart the Editor and time first PIE without those arguments.
Note that Nvidia changed the naming of their driver-cached PSOs after UE 5.5, meaning that -clearPSODriverCache command line won’t work in UE versions older than 5.6 without an engine fix.
To fix it, cherry-pick this commit (CL 40200336 for Perforce users). It’s a tiny change. If you’re using the PSOCacheBuster plugin, it already implements the fix.
I remember in older UE versions (perhaps pre 5.2) that this wouldn’t be the case.
I haven’t found anything conclusive about what might cause this - we did make a number of PSO precaching changes in 5.3+, but it’s unclear how that would make this worse because that is disabled in the Editor.
There are things that force the shaders to compile like modifying ShaderVersion.ush or not using the DDC (-ddc=cold, -noshaderddc, -nomaterialshaderddc, -DDC-ForceMemoryCache). If you are using a shared DDC you can force using a local DDC temporarily using -ddc=NoShared to see if something might be wrong with the DDC where it thinks the shaders don’t match.