【UE4】非常好用的幾個監(jiān)控代碼執(zhí)行效率的宏,可在Stat中查看
????在C++開發(fā)的過程中,有時可能會想要監(jiān)控某段代碼執(zhí)行效率。方便以后再性能調(diào)優(yōu)的時候發(fā)現(xiàn)問題。UE C++給我們提供了三個宏,可以很方便的實現(xiàn)這一目的,并且用stat XXX命令進行查看?,F(xiàn)在我們就一起去看看吧。
????DECLARE_STATS_GROUP(TEXT("MyStat"), STATGROUP_MyStat, STATCAT_Test);
三個參數(shù)分別為:
1. FString的類別,也就是出現(xiàn)在stat 后面的參數(shù)。 (最常用的就是stat fps)
2. 組的名字,由大些的STATGROUP_ 后面加上你自己的分組。顯示在stat面板
3. 類別,由STATCAT_后面加上你自己的類別名。此項出現(xiàn)在,編輯器場景編輯界面的三角下拉框中stat下。會放到對應的菜單中。(也可以用已有的類別例如:Advanced,Engine,Niagara)
下圖可以看到具體效果


????DECLARE_CYCLE_STAT(TEXT("MyActor Tick"), STAT_Tick, STATGROUP_MyStat);
定義顯示性能耗時指標的子項,三個參數(shù)分別為
FString類型的子項名稱。出現(xiàn)在性能監(jiān)視界面的一行
代碼中監(jiān)控性能用的Key值,在具體監(jiān)控時會用到
性能顯示結(jié)果放到哪個群組。這里是剛才定義的MyStat這個組
在圖一中可以看到性能監(jiān)測界面出現(xiàn)一行數(shù)據(jù),MyActorTick。
????SCOPE_CYCLE_COUNTER(STAT_Tick);
在具體需要監(jiān)測的代碼使用該宏,參數(shù)為第二個宏中定義的監(jiān)控Key值。
