游戲上線前需要做一次整體的性能優(yōu)化节芥、檢測在刺。
很多時候優(yōu)化大同小異逆害。
記錄一下,以防后面其他項目做檢測時漏掉蚣驼。
工具相關
- 使用
apksinger
代替jarsigner
進行簽名(提升android安裝率100%) - 導表工具提取相同
string
(策劃csv有很多相同string時,把相同string提取出來可以省內存) (相關數(shù)據(jù)見圖1)
資源相關
- 貼圖壓縮
pvr
魄幕、etc
優(yōu)化顯存 - alpha 分離
- 音頻
force to mono
(雙聲道變單聲道);ios
使用mp3
格式(硬件加速) - 動畫
animationCompression
設置keyFrameReduction
(減少關鍵幀) - 網格壓縮(減面)
-
assetbundle
構建時加入DisableWriteTypeTree
, 使用lz4
壓縮
游戲內容
- 關閉垂直同步颖杏,限幀(減少cpu耗電)
- NGUI 界面
drawcall
優(yōu)化 - 協(xié)議壓縮(自定義壓縮格式纯陨、
protobuf
(減少用戶網絡流量)) - 捕獲unity報錯日志上傳服務器
Application.logMessageReceived
(不能用協(xié)程上傳服務器,異常會導致攜程死循環(huán)) - 對象池(解決unity 內存碎片問題)
- 讀寫目錄(
Application.persistentDataPath
)寫入不了時,嘗試其他目錄 - IMEI 需要權限才能獲取翼抠,如果獲取不到可以
Guid.NewGuid
生成唯一ID緩存到本地當成唯一標識(用戶統(tǒng)計) - C# 非托管代碼
MemoryStream
等是否有調用dispose()
熱更相關
- 多個備用CDN咙轩,訪問失敗時進行輪詢
- CDN上的文件必須是唯一的(文件名帶版本號、
md5
) - 不能修改文件名的文件(
ver.txt
) 必須回源阴颖,或者直接訪問源站 - 同步CDN時活喊,版本文件最后進行同步
相關資料:
淺談unity內存管理
unity 優(yōu)化實戰(zhàn)訓練營
unity手冊 了解unity中的優(yōu)化
Unity制作人專場:《Unity AAA游戲深度優(yōu)化》主題演講
unity 渲染優(yōu)化教程
一些測試數(shù)據(jù):
圖1