Hear ye, developers! A scourge plagues our beloved industry. Grab your pitchforks and rally with Ari “the Hitch Hunter” Arnbjörnsson as he arms you with the tools and knowledge to eliminate the different hitches lurking in our games once and for all.
https://dev.epicgames.com/community/learning/tutorials/6XW8/unreal-engine-the-great-hitch-hunt-tracking-down-every-frame-drop
Incredible stuff as always Ari!
I think having a “SpawnActorAsync” method - similar to how LoadAssetAsync works would be great addition. It would allow you guys the interface to handle actor initialization on background thread and spread it across frames if need be. To be honest having async variants of as many operations as possible is a good idea in general because sync calls really limit what you guys can do in UE side to optimize operations.
good stuff
Thanks for the fun introduction to profiling! I have a questions regarding Packed Level Actors. Are these useful even without World Partition? Say for a VR game? Any input appreciated!
Definitely! They reduce actor loading overhead, which happens in any type of world, whether that’s World Partition or manual Level & Sublevel Streaming. And since they use Instanced Static Mesh Components there’s also less rendering overhead for multiple instances of the same mesh in a single Packed Level Actor.
I agree! I have heard of studios making their own version of actor spawning that somehow uses the incremental component registration of the level streaming code. It would be great to have something like that native in the engine. It wouldn’t be fully “async” though, as in running on another thread, but more like incremental spawning, as in running time sliced on the game thread like level streaming does now.
I don’t know if we’re currently working on anything like that (doesn’t mean we’re not), but the team is at least aware of the demand.