支持逐帧分析,优化跨模块展示

支持逐帧分析,优化跨模块展示

UWA致力于帮助开发者高效解决开发问题、定位性能瓶颈、提供解决方案。UWA在不断升级优化的同时,也致力于为用户带来更加贴心与实用的体验。本次是UWA GOT Online服务的一次重要更新,旨在让每一位开发者都能更轻松地享受UWA性能优化工具带来的便利。

本次更新主要增加以下三个功能:

  • 总体性能趋势新增逐帧分析功能
  • 耗时统计中增加Overhead耗时模块划分
  • 优化不同模块下调用同一的函数分析展示

逐帧分析

在总体性能趋势模块下的所有页签中,都上线了逐帧分析功能,函数曲线的精度已提升至个位帧数。

以UI模块为例,特别是当函数在被连续调用时,开发者可以更详细地查看每一帧的性能表现,同时,在下方的堆栈信息区域,也可以获取到相应的详细函数堆栈信息。

在模块耗时统计页,也可以更加清晰明确地查看和判断不同函数模块之间的联动情况,对于性能异常的帧和区间,定位也更为精确。

后续UWA将逐步上线其他模块的逐帧分析功能,进一步捕捉函数指定帧的性能情况,确保开发者对函数性能波动全程把控。

Overhead

在模块耗时统计页,UWA新增了Overhead模块。该模块汇总了未统计到的函数耗时和UWA测试所产生的的性能开销,不仅可以方便开发者查看各模块CPU耗时对帧率影响,还能更直观地判断哪些耗时因素可以忽略不计,开发者可甄别关键与次要耗时因素,将优化精力聚焦核心,避免资源错配。

在展开Overload模块后,开发者也可以看到untracked(未识别的函数)和SDK采集开销函数的具体耗时细节。通过 Overhead 统计。untracked 函数与 SDK 采集开销细节尽览无余,开发者可依此评估模块开启合理性,灵活调控 Resources、Lua 内存等采集模块,精简性能分析流程,提升整体效率,确保数据采集与分析精准契合项目需求。

堆栈调用路径

“总体性能趋势”下新增了在其他模块的函数调用统计,目的是精准定位源根函数,彻底打破模块间信息壁垒,全方位梳理函数调用脉络,显著提升问题排查与优化效率。

具体而言,以往在动画系统性能页中,仅能观察到动画模块根函数下的调用耗时。若是由其他根函数调用的动画的函数,则需在对应模块找到对应父函数并展开堆栈信息。

此次更新之后,开发者只需在动画模块性能页内勾选右上角“其他模块的动画函数调用”,即可直接查看这些由其他模块函数调用的动画函数详情。

在函数堆栈中点击函数名右侧的调用路径,同样可以追溯这些源自其他模块的函数具体是由哪些根函数所调用的。

新增参数

本期也增加了若干重要性能参数的统计。

  • 渲染模块新增了基于Unity Profiler的 DrawCall、Batches、Triangle 统计,开发者在SDK无法获取OpenGL数据时也能即时地查看这些信息。
  • 渲染模块新增了渲染分辨率长宽和渲染间隔数据,有助于开发者在测试过程中更好地监控渲染设置。

  • 加载模块新增了设置的异步优先级 (Application.backgroundLoadingPriority),以便开发者判断加载场景耗时,是否有通过加载策略优化的空间。


以上就是本次更新的概述,更多UWA GOT Online使用技巧等待你的探索,也欢迎大家提出建议和需求!免费试用可以前往https://www.uwa4d.com/#download,注册用户即可获得15天的试用权益!