7

GOT Online for Unreal 功能更新 | 支持API打点

 3 years ago
source link: https://blog.uwa4d.com/archives/GOTOL_UnrealV3.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

GOT Online for Unreal 功能更新 | 支持API打点

UWA针对Unreal引擎开发的GOT Online功能是一款免费提供给开发者使用的Unreal游戏性能测评工具。它不仅便捷,还提供了数据的深度分析,如引擎各模块的耗时分布、资源的具体信息、Lua耗时与堆内存等高级分析功能。

为进一步满足广大Unreal开发者的需求,我们也在不断完善和更新功能,最新的2.0.2版本SDK将增加对Unreal 4.26版本的支持,同时支持“UWA API打点”功能,可以协助开发者对函数中的部分代码段进行进一步检测、对代码中的自定义变量进行监控、对重要的逻辑事件进行反馈。

该工具的使用方法非常简单:
1)在UWA官网下载工具套件,参照文档说明集成SDK
2)在开发商本地自行进行测试
3)将测试数据上传到UWA官网
4)登录UWA官网在项目页面中查看测评报告

目前GOT Online for Unreal提供三种模式:Overview(总体性能分析)、Assets(运行时资源检测)、LUA性能分析。

关于Overview与Assets模式的功能特性,详情介绍可查看:
https://blog.uwa4d.com/archives/GOTOL_Unreal.html

Lua性能分析目前也已支持4.20-4.26版本,并支持SLua,详情介绍可查看:
https://blog.uwa4d.com/archives/GOTOL_UnrealV2.html

此次新增的UWA API功能支持自定义代码段的CPU耗时统计,每帧中自定义标签的数值变化统计以及每帧中自定义标签被标记的次数统计 。

1、自定义代码段CPU耗时统计

统计自定义代码段CPU耗时,从而更快地定位脚本的性能瓶颈。

UWAEngine::PushSample/PopSample
void PushSample(const char* sampleName);
void PopSample();

参数sampleName表示自定义的函数标签,UWAEngine会对PushSample和PopSample之间的代码段统计CPU开销,并在GOT Online中的“自定义代码”中进行显示:

该API支持嵌套调用。其具体用法如下:

UWAEngine::PushSample(“MyCode”);
// some code …
UWAEngine::PopSample();

注:请确保PushSample和PopSample是成对使用的。如果两者之间使用了return语句提前退出代码段,则会造成PushSample和PopSample的配对不准确,从而导致数据错误。另外,请注意在同一帧中PushSample和PopSample的调用次数不宜过多。


2、每帧中自定义标签的数值变化统计

该函数可用于:统计每帧中自定义标签的数值变化,从而可视化关键变量的走势,可在GOT Online中的“自定义参数”页面显示:

UWAEngine::LogValue
void LogValue(const char* valueName, float value);
void LogValue(const char* valueName, int value);
void LogValue(const char* valueName, bool value);
void LogValue(const char* valueName, FVector value);

参数valueName表示自定义的变量标签,value表示对应的变量的当前值。


3、每帧中自定义标签被标记的次数统计

UWAEngine::AddMarker
void AddMarker(const char* valueName);

以上即为本次GOT Online for Unreal更新的功能。希望UWA API打点功能可以协助开发者更加灵活的定位代码瓶颈、反馈代码问题,为项目的性能安全保驾护航。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK