UWA线上测评支持“报告对比”| 抓重点抠细节,优化再进阶!

UWA线上测评支持“报告对比”| 抓重点抠细节,优化再进阶!

快、精准、有温度,一直是UWA不断追求的目标,为了让研发团队更高效地定位问题、更精准地解决问题,我们近期在UWA线上深度测评服务中推出两个提升用户体验的功能:报告对比和性能简报的问答关联,目前我们已将其部署到所有评测过的项目中,大家登录UWA官网在对应的项目评测报告中即可查看,下文我们将详细说明。

文字描述太苍白?>>直接查看讲解视频,绘声绘色带你快速上手新功能!

一、报告对比功能

研发团队可将当前报告与历史上任何一份报告进行对比,包括:同一款机型在不同版本的性能差异对比和相同版本在不同机型上的性能差异对比。通过查看两个版本中引擎模块重要参数的前后对比值、逻辑代码CPU耗时、堆内存等数值差异来了解版本的变化情况;通过对比模式下的定量分析来更快掌握当前版本的优化效果,并发现当前版本的新增问题。下面,我们将对于该功能的具体使用方法进行详细介绍。

“添加对比”的功能的入口在报告页面右上角,如下图所示:

点击“添加对比”后,即可看到同一项目中的历史测试记录:

在这里,研发团队可选择历次提交中任意设备的报告进行对比,以满足各种对比需求。比如:
1)选择同一设备上不同时间的报告,查看本轮性能优化的成效;
2)选择同次提交中高端机与低端机的报告,来对比不同配置下的性能表现等等。
点击“对比”后,即进入对比模式:

1、性能对比总览

显示了总体CPU、总内存以及堆内存变化的同时,也对比了CPU中各个模块的耗时变化,以及各类重要资源的内存峰值变化。

研发团队可以快速定位变化较为明显的模块和资源类型,后续通过其他页面对比数据时也更有针对性。

这么友好的功能实在不能私藏了!来个处女秀先~

2、性能指标对比

我们对报告的各个页面上的指标都进行了对比显示,同时标注了变化率。

渲染模块

内存占用

资源使用

Overdraw功能

通过性能指标的对比,研发团队可从整体上了解各个模块或者各类资源的主要变化,快速定位版本迭代过程中下降和提升的性能指标。

3、性能曲线对比

为了便于大家对报告的性能细节进行深入分析,我们也在各个面板中提供了性能曲线的对比。

以渲染耗时为例,如下图,我们对两次测试的性能曲线对比,通过调整各自的选中帧以及上方的测试截图,可以快速对比两次测试中在相同位置处的性能表现。

如何利用对比功能抓重点抠细节?一分钟解读,快速就上手!

同样的,在“重要参数解析”中,可以通过曲线的对比查看例如Instantiate,Shader.Parse等重要耗时函数的优化情况。

通过性能曲线的对比,有助于发现局部性的性能问题、资源使用问题等。

4、函数级统计对比
在CPU耗时占用部分,我们提供了两次测试中各个函数的CPU均值对比,把耗时的差异细化到了函数级别。如下图中的Camera.Render,当前版本增加了约1.3ms,则需要重点关注渲染模块中的性能指标变化。

堆内存分配部分,则是对比了“每万帧堆内存分配”的数值。

堆栈对比如何查看?小编现身说法给大家秀一下~

5、资源对比功能

该功能将两次测试中的资源进行统计和对比,并将结果分为以下四类:

1)同名差异项:两次测试中资源名称相同,但是属性、数量峰值等统计存在差异的资源;(注:因精度问题,忽略1KB以内的内存差异)
2)同名相同项:两次测试中资源名称和各项统计都相同的资源;
3)当前测试独有项:资源名称只在当前测试中出现过的资源;
4)对比测试独有项:资源名称只在对比测试中出现过的资源。
显示时,来自对比测试的资源使用灰色背景进行了标注。

在“同名差异项”的统计中,通过资源名称排序后,同名资源就会出现在相邻两行处,可以快速验证资源格式的修改,资源冗余的优化等。而两种“独有项”的统计则分别对应了新增的资源和移除的资源。通过以上几类统计,研发团队可对资源的变化有更直观的把握,从而可对资源的修改进行更高效的验证。

同时,这个部分还支持了两次测试中不同场景和不同帧的资源对比,欢迎大家探索!

“资源对比”也是不可错过的黑科技呀~


二、性能简报新增问答关联

UWA报告中的性能简报,旨在帮助大家快速发现、定位和解决项目的性能问题,这主要借助于其中的“优化任务队列”来实现:UWA通过上千条基于统计和经验的规则,定位了项目中不合理的数据量,并且按严重程度划分了优先级,并针对每一个优化任务提供了分析建议。

UWA的问答社区聚集了很多优秀开发者,同样也聚集了大量的优质问题和解决方案,其中不少问题可以为性能优化工作提供借鉴和参考。

因此,在最新版本的性能简报中,我们针对每一条优化任务加入了“问答关联”的功能,见下图右下方绿框部分。

通过查阅相关的问题,研发团队可更好地了解每个优化任务本身,获得多样化的解决方案并找到更适合自身项目的优化方法。

以上是UWA线上深度测评中的“对比功能”和“问答关联”的介绍,该功能目前限时免费中(至2月28日)。特别感谢钛核互动提供了本次展示用例!UWA希望能协助大家更好地把控项目的性能表现,对于迭代过程中出现的问题,也可以更快地发现、定位和解决,欢迎大家登录www.uwa4d.com来体验哦~

  • uSpringBone开源库测评 R11; FIXBBS 发表在 2020年09月26日 回复

    [...]我们选择了骁龙845上的IL2CPP版本的两次测试数据,使用对比功能对比代码效率-CPU耗时的函数耗时。上图中对比版本为OriginSpringBone,当前版本为uSpringBone。可以看到OriginSpringBone中的SpringManager.LateUpdate耗时完全没有了。[...]

  • uSpringBone开源库测评 R11; FIXBBS 发表在 2020年09月26日 回复

    [...]我们选择了骁龙845上的IL2CPP版本的两次测试数据,使用对比功能对比代码效率-CPU耗时的函数耗时。上图中对比版本为OriginSpringBone,当前版本为uSpringBone。可以看到OriginSpringBone中的SpringManager.LateUpdate耗时完全没有了。[...]