Related Posts Plugin for WordPress, Blogger...

6-23 Stats Monitor

本章要來介紹Unity插件『Stats Monitor』。

Stats Monitor
https://assetstore.unity.com/packages/tools/gui/stats-monitor-44870
很好用的狀態顯示小工具,特別是要在手機上優化效能的時候,可以透過Monitor快速查看FPS、記憶體等資訊,如Total Memory, Allocated Memory, Mono Memory, CPU, GPU, Video RAM, Screen size and window dimensions.

以下開始介紹這款插件的設定方式。首先在GameObject/Create Other/Stats Monitor將插件創造在場景中。

場景中會自動出現名為Stats Monitor的物件,但此時還是看不到的。

預設在執行遊戲的時候才會出現,如畫面右上角那樣。

接著簡單介紹一下該插件有哪些選項可供設定。

Status:Active為啟動狀態,Inactive為使用快捷鍵後才啟動,Passive為背景執行偵測。
Render Mode:意指Canvas的Render Mode,可以選擇Overlay與Camera兩種。通常用Overlay就好了,一定會在所有畫面的最上層,想了解更多的人就自己查詢一下Canvas的資料即可。

Layout:顯示資訊,如果選擇Full的話就會產生更多資訊,如下圖,OS、CPU、RAM等系統資訊都會顯示。


Style:有四種主題樣式可選,如下圖為Oblique的樣式,但選了之後反而大幅度降低FPS,建議不要使用這個樣式。

Alignment:選擇Monitor的位置,選項如下圖。

我改成Middle Right,以免擋到我的介面按鈕。


Keep Alive:勾選該選項後,即使重新載入其他場景,也能保持Monitor繼續存在不被銷毀。

以下這三個Interval選項都是以秒為主,如設為1代表每1秒更新一次,設為2代表每2秒更新一次,設為0的話就不更新了。

State Update Interval:整個控制面板的更新頻率。
Graph Update Interval:中間的圖像面板的更新頻率。
Object Count Interval:計算場景中物件的數量的更新頻率。

接著介紹其他選項。


GC Monitoring:監督GC的時間點,勾選之後會在Monitor的圖表上看見綠色的小線條,如下圖。

Input Enabled:是否要讓Monitor根據快捷鍵或Touch事件,進行Active修改、Alignment修改、Style修改等操作。

Hot Keys的部分在遊戲模式中沒有反應,可能要輸出為PC的測試專案才能使用。這部分就請大家自行測試看看。

Touch Control:偵測Touch事件,一樣可以進行修改Active、Alignment、Style等操作。
如將Toggle Touch Count設為3,代表連續點擊介面3次,就可以Active或Inactive Monitor。

Layout & Styling:設定字體、文字大小、間距、圖表高度、各個資訊的顏色等等.....這部分的設定非常多,就不一一介紹啦,大家自己調整看看就知道了。我依照喜好調整好以後如下圖。

最後介紹FPS Specific這幾個選項。

Throttle FPS啟用或禁用FPS限制,可以了解遊戲在特定FPS下的表現情形。但不保證遊戲一定按照FPS限制來執行。 設置為-1代表在當前條件下盡可能快地呈現。注意:此選項在啟用時禁用VSync。如果不了解VSync的話,可以參考以下文章:
Unity优化大全(四)之CPU- VSync Count垂直同步
http://gad.qq.com/article/detail/38066

Average FPS Samples:設定多少次取樣後計算平均FPS值。
FPS Warning Threshold:FPS下降到多少後顯示警告的顏色,黃色。
FPS Critical Threshold:FPS下降到多少後顯示危險的顏色,紅色。

以上都設定好後,務必使用Copy Component複製下目前的設定,由於我們是在遊戲執行中修改設定,當停止執行的時候所有設定會還原。

停止遊戲後,記得選Paste Component Values將我們剛剛的設定貼上。

接著來簡單說明State Monitor中各數值的用途。

FPS:每秒鐘更新Frame的頻率,如圖為21代表每秒更新Frame21次。
MIN:最低FPS時的值。
MAX:最高FPS時的值。
AVG:平均FPS值。

MS:遊戲中執行一個Frame需花費的時間,如圖為45.8毫秒,如將45.8ms乘以FPS 21會得到961.8ms,接近1秒。

FXD:Fix Update的速率,如圖為50代表每秒固定執行50次。該速率可在Unity的Edit/Project Setting/Time中設定,有一參數名為Fixed Timestep。

OBJ:場景中的GameObject數量,如下圖OBJ數值為110/2250/2875,110代表場景中的GameObject中的Render處於Visible狀態的數量,2250代表GameObject有Renderer的總數量,2875代表場景中的GameObject總數量。

TOTAL:Unity從系統預留的記憶體總量。
ALLOC:Unity已分配使用的記憶體總量。Unity從系統預留的記憶體會被放置在一個Pool中,並由Unity的Allocator進行分配。
MONO:腳本佔用的記憶體。

留言