日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UNITY所谓的异步加载几乎全部是协程,不是线程;MAP3加载时解压非常慢

發布時間:2025/3/18 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UNITY所谓的异步加载几乎全部是协程,不是线程;MAP3加载时解压非常慢 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UNITY所謂的異步加載幾乎全部是協程,不是線程;MAP3加載時解壓非常慢

實踐證明,以下東西都是協程,并非線程(thread):

1,WWW

2,AssetBundle.LoadFromFileAsync

3,LoadSceneAsync

其它未經測試

此問題的提出是由于一個約3.5M的MP3背景音樂文件的加載。

測試中發現該文件加載時角色走路會有一個短暫的卡頓,經測試是加載此MP3造成的約0.3S的卡頓。

為解決此問題,決定使用LoadFromFileAsync代替LoadFromFile來進行異步加載,結果發現沒有任何作用,證明此異步函數只是協程。

然后嘗試使用WWW來加載,在UPDATE里詢問加載結果:isdone,結果仍然同樣的卡,沒有任何改變。證明WWW也只是協程,不是多線程的。

------------------------------------------------------

其實MP3只有3M左右,不應該那么卡,原因是在其壓縮選項設置:decompressOnLoad,表示加載時解壓,U3D文檔特別強調了對于大的MP3,使用此選項是非常愚蠢的。

原以為大的MP3是指10M以上的,沒想到這就算大的了。。。

最后通過修改壓縮選項為compressInMemory解決問題,絲毫不卡。

--------------------------------------

本來想利用C#的Thread類來加載磁盤上的.mp3到內存,然后使用UNITY的 assetbundle.loadFromMemory(bytes[])來加載,如果行得通則肯定不卡。

有點麻煩,有時間再搞。

---------------------------------------------------------------------------

PS: 看來UNITY資源加載并沒有任何多線程的功能啊

posted on 2017-09-15 12:50 時空觀察者9號 閱讀(...) 評論(...) 編輯 收藏

總結

以上是生活随笔為你收集整理的UNITY所谓的异步加载几乎全部是协程,不是线程;MAP3加载时解压非常慢的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。