UWA GOT (Online) 支持自定義變量和代碼段檢測—你關注的性能瓶頸無處遁形!

UWA GOT是UWA推出的本地性能優化工具,其Online功能限時免費中,它的總體性能分析模式能夠幫助研發團隊直觀定位邏輯代碼中的效率瓶頸。但在日常的優化工作中,我們常常需要對函數中的部分代碼段進行進一步檢測、對代碼中的自定義變量進行監控、對重要的邏輯事件進行反饋。

所以今天,我們在該工具中推出自定義代碼段和自定義變量功能。該功能支持開發人員對任何一段代碼(C#或Lua)進行檢測和跟蹤,同時也能對項目中的某些關鍵變量和重要參數進行監測,從而更靈活地定位代碼瓶頸和反饋代碼問題,還能通過歷史數據對比,爲項目在不同版本發佈時的安全性保駕護航。

下面則爲自定義代碼段和自定義變量的具體功能展示:


一、自定義代碼段

在項目代碼中,研發團隊可通過UWA API PushSample和PopSample來對任意代碼段進行截取,當項目在真機上測試結束後即可在UWA GOT(Online)中查看該代碼段的具體使用耗時,如下圖所示:
請輸入圖片描述

點擊表格中任何一個函數,即可查看其在當次測試過程中的具體CPU耗時情況。同時研發團隊還可以查看其在不同項目版本中的變化,隨時監測這些重要函數的性能走勢,如下圖所示。
請輸入圖片描述

使用方法:
在UWAEngine中添加一個自定義的函數標籤,UWAEngine會對PushSample和PopSample之間的代碼段統計CPU開銷。

UWAEngine.PushSample/PopSample
public static void PushSample(string sampleName);
public static void PopSample();

參數

sampleName 自定義的函數標籤

示例

UWAEngine.PushSample(“MyCode”);
// My Beautiful Code
UWAEngine.PopSample();

二、自定義變量

在項目代碼中,研發團通過UWA API 中的LogValue和AddMarker來添加指定的標記和對應的數值,即可在UWA GOT (Online)中對其進行跟蹤和監測。目前,該功能支持四種變量類型:Int、Float、Bool和Vector類型,如下圖所示。

請輸入圖片描述

使用方法:
UWAEngine.LogValue

public static void LogValue(string valueName, float value);
public static void LogValue(string valueName, int value);
public static void LogValue(string valueName, bool value);
public static void LogValue(string valueName, Vector3 value);

參數
valueName自定義的變量標籤
value變量的值

示例

UWAEngine.LogValue(“A Bool”, true);
UWAEngine.LogValue(“A Int”, Time.frameCount);
UWAEngine.LogValue(“A Float”, Time.deltaTime); 
UWAEngine.LogValue(“A Float”, new Vector3(1,1,1));

同時,我們也提供了AddMarker功能,方便對某些指定函數的調用次數進行監控,該功能特別適合監測C#與Lua之間的穿梭情況。

AddMarker用法示例:

Public static AddMarker(string marker);

UWA GOT中會統計每個Marker在每一幀被Add的次數,該接口可以用來統計如Lua調用C#接口的次數,如:適當修改SLua的代碼生成器,自動在每個Wrap函數中插入對應語句,如下:
請輸入圖片描述

在測試後,在報告中即可查看到類似下圖中的耗時彙總以及每一幀的統計:
請輸入圖片描述

這些高效又實用的功能聽說是高級程序員的標配哦,現在依舊在限時免費中,還不快打開你的UWA GOT試一試呀!^_^

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章