讓路由器做網(wǎng)站服務器互聯(lián)網(wǎng)廣告優(yōu)化
文章目錄
- 一.Stats組件
- 1.Audio音頻的數(shù)據(jù)組件:
- 2.圖形數(shù)據(jù)
- 二.Profiler 性能分析器
一.Stats組件
Unity自帶Statistics(統(tǒng)計數(shù)據(jù)),Game視窗中點擊Stats打開
1.Audio音頻的數(shù)據(jù)組件:
1):Level 聲音強度
單位是分貝(dB) 表示音頻聽聲音的大小,是閃爍波動的.
2):SDPload 數(shù)據(jù)信息負載
數(shù)字信號處理的負載 播放的音頻越多,越復雜,聲音的采樣就或高.避免負載或高.
3):Clipping 音頻裁剪
音頻裁剪情況.當音頻信息超過設備支持的最大范圍后,該音頻信息會被裁剪.坐而會有有一定程度的失真.
4):Staram load 流式負載
表示音頻采用流式加載的負載情況,即邊聽邊下載情況下的音頻的負載情況.
2.圖形數(shù)據(jù)
1):FPS 幀率
表示1秒內(nèi)播放的的畫面的數(shù)量,用于判斷畫面的流暢度.一般60以上為流暢.45以上為比較流暢,30以下則會開始會有卡頓感.
這個數(shù)值不是越高越好,太高容易導致顯卡發(fā)熱.
2):CPU 單幀處理時長
表示CPU處理一幀所用的時間.
例如: CPU main0.7ms render thread 0.7ms 主線程花費0.7毫秒(主線程主要負責游戲邏輯的更新,用戶輸入,對像更新,碰撞檢測等.)
渲染線程花費0.7毫秒 渲染線程負責顯示游戲畫面.
3):Batches調(diào)用繪制批次數(shù)
即CPU調(diào)用繪制(Draw Call)的批次數(shù),應該盡量避免過大.
4):Saved by batching 被合并次數(shù)
有多少個Draw Call合并到了指次 , 此數(shù)據(jù)越大表示優(yōu)化的越好.
5):Tris 面數(shù)
Triangle(三角形)當前幀射線機內(nèi)三角型數(shù)量
6):Verts
Vertex(頂點)當前幀射線機內(nèi)頂點數(shù)量
7):Screen 屏幕
當前屏幕的分辨率及內(nèi)存,應當避免此數(shù)據(jù)太大.
8):SetPass calls 切換著色器通道次數(shù)
渲染中一個Shader可以包含多個角色器通關(Shader pass) , 角色器通道切換會有一定性能消耗.應該避免此數(shù)據(jù)過大.
9):Shadow casters 產(chǎn)生陰影數(shù)量
畫面中有多少個對像產(chǎn)生了陰影.同一對像也可能多次產(chǎn)生陰影.應盡量避免此數(shù)據(jù)過大.
10):Visible skinned meshes 可見蒙皮網(wǎng)格
可以見范圍內(nèi),蒙皮網(wǎng)格的數(shù)量
11):Animation components playing
當前播放的Animation數(shù)量
12):Animatior components playing
當前播放的Animator數(shù)量
使用代碼UnityStats.可以動態(tài)查看以上數(shù)據(jù)
二.Profiler 性能分析器
1.通過菜單欄Window > Analysis > Profiler 打開
2.這里我們可以看到窗口分為,CPU Rendering Memory 等信息…
我們可以通過Profiler Modules 選擇需要收集信息的模塊
3.這里可以看查總收集幀數(shù) 和 當前查看幀數(shù).用幀數(shù)控制可以操控上一幀,下一幀,及最后一幀.
4.當點擊某個模塊某幀時,左邊對應顏色數(shù)值會顯示對應消耗的量
5.下面的窗口也可以查看當前幀的詳細信息
6.當重新開始收集時,需要點擊Clear新空之前收集的幀數(shù).否則將會從之前收集的幀數(shù)后面開始繼續(xù)收集資料.
7.收集模式,通常選擇playmode,再游戲開始運行后點擊小圓圈開始錄制.
8.點擊Clear On Play按鈕可以每次開始運行時自動清空上次運行的數(shù)據(jù)
9.點擊窗口右上解的保存按鈕可以導出文件記錄本次收集到的信息
10.點擊窗口右上解的導入按鈕可以導入,文件記錄的收集到的信息
11.點擊Deep Profile性能以收集自身編輯方法所消耗的性能
選擇Hierarchy窗口,在右邊欄搜索框中也可以搜索對應的方法查看.
Totle : 當前方法占用當前模塊總消耗量的百分比
Self : 當前模塊占自身代碼占用的性能
Calls : 被掉用的次數(shù)
GC Alloc : GC allocation 垃圾回收機制,分陪了多少內(nèi)存
Time ms : 用了多少時間執(zhí)行這個方法
Self ms : 執(zhí)行自身代碼用的時間
在性能分析中,以下是調(diào)用了自身和別人的代碼的邊別.
12.使用Profiler.BeginSample及EndSample查看局部代碼性能
在Profiler中搜索這個名字就能查看此段代碼所消耗的性能.
13.Unity官方文檔中可以查看更詳細的內(nèi)容
https://docs.unity3d.com/cn/current/Manual/ProfilerWindow.html
14.調(diào)用棧CallStatcks
調(diào)用棧是計算機在執(zhí)行過程中記錄調(diào)用的一種數(shù)據(jù)結構.
以先進后出的的順序記錄每個函數(shù)被調(diào)用情況.
勾選后可以在下面搜索內(nèi)容.
GC.Alloc表示GC的內(nèi)存分配情況
UnsafeUtility.Malloc用于在內(nèi)存中分配未初始模塊.只有在處理非托管內(nèi)存的特定才場景下才會用到
JobHandle.Complete.這里是完成Job System的特定任務.