原帖地址 http://gad.qq.com/content/coursedetail/7180616
Unity Profiler
Unity => Window=>Profiler
Profiler=>CPU 綠色渲染占用時間、藍色邏輯代碼、橙色物理模塊、灰色GC占用時間
Unity => Winwodw =>Frame Debug 幀調試器渲染工作
測試盡量使用真機進行測試分析
在Editor中進行調試得到的結果偏大
性能問題:卡頓 耗電 發熱 內存占用過高
卡頓 耗電 發熱
CPU=> 1.GPU DrawCall過多 2.UI問題 3.代碼邏輯開銷
CPU=> 1.GPU Shader復雜 2.帶寬問題
內存占用過高
內存占用過高 =>紋理,網格,動畫,音頻,mono堆內存
---------------------------------------------------------------------------
常見瓶頸
CPU => 渲染,UI,代碼/加載,動畫。物理
GPU =》 Shader,overdraw,陰影,光照
內存 =》 紋理,mono堆內存,assetbundle,音頻,動畫等
-------------------------------------------------------------------------------
CPU性能參考指標
幀率FPC 每秒繪制的幀數
30幀 沒秒30毫秒時 比較OK的體驗、每秒60幀是較好的體驗 顯示器的刷新幀率是每秒60幀
開啟垂直同步可以讓幀率和顯示器的刷新頻率保持一致
DrawCall
以使用OpenGL的為參考 在每次繪制模型之前准備好頂點數據,調用一系列的API來設置材質和參數等環境
然后unity調用一個OpenGL接口 GLDraw來告訴GPU開始渲染
每個DC 只能繪制65535個頂點 帶寬很有限
----------------------------------------------------------------
GPU 性能診斷
透明物體 陰影 實時光照 屏幕后處理
透明物體overdraw查看
---------------------------------------------------------------
內存診斷
資源內存占用
unity引擎內存占用
mono托管堆內存占用
資源內存 占用
紋理資源 網格 材質 動畫 音頻 紋理資源 占用主要
內存推薦用量: 紋理資源50MB 、網格資源20MB 、 動畫片段15MB 、 音源片段15MB 、 Mono堆內存40MB、其他10MB