Unity性能優化-音頻設置


沒想到Unity的音頻會成為內存殺手,在實際的商業項目中,音頻的優化必不可少。

1. Unity支持許多不同的音頻格式,但最終它將它們全部轉換為首選格式。音頻壓縮格式有PCM、ADPCM、Vorbis,不是所有平台都支持這些所有的壓縮格式,有些平台,例如WebGL只支持AAC格式。

2.所有音頻導入時,默認兩項設置,LoadType是"Decompress On Load",壓縮格式是“Vorbis”,例如下圖原始文件大小計算為35.9 MB,導入的大小計算為10.7 MB。這意味着這個音頻剪輯將使您的游戲(存檔)大小增加10兆字節,但播放它需要近36兆字節的RAM。

These are default import settings.

3.Load Type的各個選項

  • Compressed In Memory – 音頻剪輯將存儲在RAM中,播放時將解壓縮,播放時不需要額外的存儲。
  • Streaming –音頻永久存在設備上(硬盤或閃存上) ,播放流媒體方式. 不需要RAM進行存儲或播放。
  • Decompress On Load – 未壓縮的音頻將存儲在RAM中。這個選項需要的內存最多,但是播放它不會像其他選項那樣需要太多的CPU電源。

         怎么選?長音頻播放消耗大量內存,如果播放時不想在內存中進行解壓,有兩個選擇:

         (1)Load Type選“Streaming”, Compression Format 選”Vorbis",使用最少的內存,但需要更多的CPU電量和硬盤I/O操作;

         (2)Load Type選“Compressed In Memory”, Compression Format 選”Vorbis",磁盤I/O操作被替換成內存的消耗,請注意,要調整“Quaility”滑塊以減小壓縮剪輯的大小,以交換音質,一般推薦70%左右。

             一般是看到底音樂占據多少內存以及你的目標機型是什么樣子的,如果音樂占據的內存本身比較高,你的目標機型的內存又比較小,那么就選擇第二種,這種方案會卡一點,否則選擇第一種就更好

4.聲音特效

     (1)對於經常播放的和短的音頻剪輯,使用“Decompress On Load”和“PCM或ADPCM"壓縮格式。當選擇PCM時,不需要解壓縮,如果音頻剪輯很短,它將很快加載。你也可以使用ADPCM。它需要解壓,但解壓比Vorbis快得多。

      (2)對於經常播放,中等大小的音頻剪輯使用”Compressed In Memory“和”ADPCM“壓縮格式,比原始PCM小3.5倍,解壓算法的CPU消耗量不會像vorbis消耗那么多CPU。

      (3)對於很少播放並且長度比較短的聲音剪輯,使用”Compressed In Memory", ADPCM 這種壓縮格式,原因同(2)。

     (4)對於很少播放中等大小的音頻,使用”Compressed In Memory“ 和Vorbis壓縮格式。這個音頻可能太長,無法使用adpcm存儲,播放太少,因此解壓縮所需的額外CPU電量不會太多。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM