[Closed] Level loading times and Vive/compositor
I'm trying to make the experience of loading our levels as smooth as possible in the Vive. Right now the best setup I've found is:
We have one of these for each unique area in the game (right now we're at 5 or 6 of these). All the sublevels are set to be loaded via blueprint rather than always visible. The process of loading the levels is:
Step 1 of this works more-or-less fine for now, it's the second part which is having the problems.
As each sub-level is loaded, the SteamVR compositor rapidly fades in and out as the game misses frames due to loading times, and this is really ugly. We could fade the compositor in manually which might help with this, but part of the reason for having the level-loading BP is so that it can display some progress to let the user know things haven't stalled.
We have this in our DefaultEngine.ini:
I'm really stuck with how to make this any better. The questions I have are:
Maybe there are some other avenues for improvement which I also don't know about, too. Any help is appreciated. I can also share some profiling files if that would be of any use.
The question has been closed May 26 '16 at 05:55 PM by AndrewHurley for the following reason:
The question is answered, right answer was accepted
You can try enabling the async loading thread that will offload part of async loading process onto a separate thread. Note that it does have some requirements that are not always easy to meet: all UObject constructors, Serialize and PostInitProperties functions must be thread-safe. Long time ago I made sure this was the case in the engine but I'm not 100% sure this is still the case (although I have tried it recently and it seemed fine). You should also make sure that your game classes meet those requirements too.
You can enable the thread in your DefaultEngine.ini or in Project Settings.
This may not be enough though. Since loading triggers a lot of code like adding things to the world the hitches may be a result of something that's outside of the loading code itself. I suggest you do a profile of you game and track all the hitches down.
I'm CC'ing Nick to answer the compositor questions.
answered May 26 '16 at 05:54 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here