UWA GOT (Online) 支持自定义变量和代码段检测—你关注的性能瓶颈无处遁形!

UWA GOT是UWA推出的本地性能优化工具,其Online功能限时免费中,它的总体性能分析模式能够帮助研发团队直观定位逻辑代码中的效率瓶颈。但在日常的优化工作中,我们常常需要对函数中的部分代码段进行进一步检测、对代码中的自定义变量进行监控、对重要的逻辑事件进行反馈。

所以今天,我们在该工具中推出自定义代码段和自定义变量功能。该功能支持开发人员对任何一段代码(C#或Lua)进行检测和跟踪,同时也能对项目中的某些关键变量和重要参数进行监测,从而更灵活地定位代码瓶颈和反馈代码问题,还能通过历史数据对比,为项目在不同版本发布时的安全性保驾护航。

下面则为自定义代码段和自定义变量的具体功能展示:


一、自定义代码段

在项目代码中,研发团队可通过UWA API PushSample和PopSample来对任意代码段进行截取,当项目在真机上测试结束后即可在UWA GOT(Online)中查看该代码段的具体使用耗时,如下图所示:


请输入图片描述

点击表格中任何一个函数,即可查看其在当次测试过程中的具体CPU耗时情况。同时研发团队还可以查看其在不同项目版本中的变化,随时监测这些重要函数的性能走势,如下图所示。


UWA GOT (Online) 支持自定义变量和代码段检测—你关注的性能瓶颈无处遁形!_第1张图片
请输入图片描述

使用方法:
在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类型,如下图所示。

UWA GOT (Online) 支持自定义变量和代码段检测—你关注的性能瓶颈无处遁形!_第2张图片
请输入图片描述

使用方法:
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 (Online) 支持自定义变量和代码段检测—你关注的性能瓶颈无处遁形!_第3张图片
请输入图片描述

在测试后,在报告中即可查看到类似下图中的耗时汇总以及每一帧的统计:


UWA GOT (Online) 支持自定义变量和代码段检测—你关注的性能瓶颈无处遁形!_第4张图片
请输入图片描述

这些高效又实用的功能听说是高级程序员的标配哦,现在依旧在限时免费中,还不快打开你的UWA GOT试一试呀!_

你可能感兴趣的:(UWA GOT (Online) 支持自定义变量和代码段检测—你关注的性能瓶颈无处遁形!)