FlushAsyncLoading will cause freeze during streaming level (or big object)!

Currently I’m using UE 4.9.2, async level streaming working correctly without hitch.

However, Once I invoke StaticLoadObject during streaming, main tick will freeze for a few seconds until

the current streaming level being completely loaded .

I found it’s because of the following:



void BeginLoad()
{
    ...
		FlushAsyncLoading();
    ...
}


Every StaticLoadObject will make async loading objects being loaded in one frame on main thread,

and causing hitch.

Thus, Level streaming in async thread will result in a few second freeze.

How to avoid this? (we can’t afford to change all StaticLoadObject to AsyncLoad)

In my opinion there can be 2 ways:

  1. Not to flush async loading in StaticLoadObject.
    What will happen if engine make such change?

  2. else, level streaming could break a single umap loading task to several small piece,

then we don’t need to wait for seconds loading whole map.

Any suggestion?