Assetbundle LoadAsyc speed is much slower than Load

I am trying use assetbundle “LoadAsync” method asynchronous load object from assetbundle. but I found the speed for “LoadAsync” is much slower than “Load”, for example, I load a object from 38kb assetsbundle, in editor, use “Load” Method, only needed 23ms, but use “LoadAsync”, I need wait 391ms to finish.

if I use “LoadAsync” to load a group of objects from separate assetbundle at the same time, and the assetbundle size of them from 30kb~40kb, then the load be finished one by one base the order I start them, and the finish time for latter one always about 300ms longer than before one, it looks like if you call multiple “LoadAsync” at the same time, they will not execute concurrent, just be execute one by one in one background thread.

anyone have more info for this? or have good suggestions about how to speed up “LoadAsync”?

All async methods put their task into the background working thread that Unity provides. The aim of this thread is NOT to increase the speed but to distribute the load to minimize the fps-jitter. Most non-async functions are executed in the current frame and block the whole application / game.

If you want to load something as fast as possible use the non-async functions because they will block everything else until their job is done. Of course you can’t do anything in the meantime.