上文中测试了Load的时间效率,同事又提出此种情况下LoadAsset的情况,于是加入LoadAsset的实验数据,由于Unity自身的Bundle的LoadAsset立马unload的bug,使用协程来实验,但是只统计加载和Load的时间:
代码如下:
private IEnumerator LoadTatal()
{
string[] tempArr = bbb.Split(',');
float totalTime = 0;
for (int i = 0; i < 1000; i++)
{
float t = Time.realtimeSinceStartup;
AssetBundle assetBundle = AssetBundle.LoadFromFile(Application.streamingAssetsPath + "/commatlas1");
for (int j = 0; j < tempArr.Length; j++)
{
UnityEngine.Object tempObj = assetBundle.LoadAsset<UnityEngine.Object>(tempArr[j].ToLower());
tempObj = null;
}
totalTime += (Time.realtimeSinceStartup - t) * 1000;
yield r