UWA支持了Unreal项目的性能测评后,我们收到了一些开发者的细致反馈和建议,目前我们的开发小队正如火如荼地支持和完善中。今天先安利两个新功能:GPU检测和重要参数解析,帮助大家快速定位性能瓶颈,下面小编带大家一一详述。


GPU功能

1、OverDraw
OverDraw功能主要用于统计场景中不透明和半透明物体渲染时,屏幕上每个像素被渲染的次数越多,则表明GPU的开销越大。如下图所示,第一排为当前场景渲染屏幕截图,第二排为对应的OverDraw可视化结果,颜色越亮的区域代表像素被渲染的次数越多。

结合游戏截图以及OverDraw可视化结果,我们不难发现,场景中火焰粒子特效的对应区域OverDraw较高,这是因为粒子系统通常由多层半透明Billboard叠加渲染而成,那么我们可以快速定位场景中造成OverDraw较高的物体,并可针对地对其进行优化。

此外,我们还对OverDraw进行了量化统计,包括项目测试中的总填充数峰值、总填充数均值、填充倍数峰值和填充倍数均值。总填充数表示采样结果中像素被渲染的总次数;填充倍数表示采样结果中平均每个像素被渲染的次数。通过填充倍数均值的大小,我们可以衡量OverDraw总体的开销。

上图中显示2.6x表示在游戏运行过程中,场景中的每个像素平均每帧被渲染2.6次。根据我们对不同项目长期优化积累的经验,对于移动平台该值控制在3.0较为合适。如果高于该值,建议开发者对项目的OverDraw进行针对性优化。

同时,我们统计了单像素填充峰值等数据,并展示了其在游戏运行过程中的走势曲线,如下图所示:

点击该曲线,可以查看对应值,并定位其对应采样帧的截图可OverDraw可视化结果,进而更快速地定位造成OverDraw峰值的物体。

2、Mipmap
Mipmap功能主要用于统计场景中不透明物体渲染时,材质中使用的纹理被采样的Mipmap层级(即LOD层级)数。纹理采样的Mipmap层级数越大,说明该纹理渲染到屏幕时占据屏幕像素相对于其分辨率较少,造成的内存浪费较大。

下图是游戏运行过程中,采样不同Mipmap层级像素占总像素数的比例走势曲线。第一排和第二排图像分别显示了渲染屏幕场景和对应场景中物体使用纹理的Mipmap层级数。

在第二排图中,黑色部分表示使用原始纹理大小进行渲染的像素,绿色、黄色和红色分别表示使用1/2、1/4和1/8大小进行渲染的像素。蓝色和紫色分别表示使用2x和4x(即拉伸2倍和4倍)进行渲染的像素。点击该曲线可查看该采样帧的数据统计,以及对应的测试场景和Mipmap可视化结果,从而快速定位纹理使用过大的场景物体,并针对性地对其进行优化。


重要参数

重要参数是UWA性能测评报告中的重点功能。经过大量的定量实验和归纳总结,我们发现了一些极具代表性的函数,通过分析这些函数的运行趋势并优化,可以达到快速提升性能的目的。在目前的版本中,我们展示了Tick Time函数的具体性能堆栈。

研发团队可以详细地查看游戏线程Tick各个函数中,对蓝图的Tick函数进行调用的时间开销,包括总耗时、自身耗时和调用次数等。选中子函数,可以通过图表直观地查看其运行走势,进而快速定位蓝图性能瓶颈。我们也可以选择查看总体堆栈信息和指定帧的堆栈信息,从总体和微观上对性能的各个瓶颈严格把关。


如何使用UWA测评服务

用户注册登录UWA官网(www.uwa4d.com)后,在项目标签下“新建项目”,填写项目名称并根据测试的平台下载对应的SDK。根据提示集成SDK后编译生成测试包,即可坐等报告生成。

目前,UWA支持Unreal游戏/应用在iOS、Android和PC三大平台的性能测评,同时随着对Unreal引擎更深入的测试和研究,我们将探索更多性能参数的规律。在后续的研发中,我们会不断更新UWA的测评机制,力求为Unreal开发者提供更有针对性的分析和参考。

现在即可点击此处,了解Unreal的demo报告哦!

Unreal性能测评 | GPU检测、重要参数解析,开启高效优化的新姿势!相关推荐

  1. 云应用性能管理哪家强?性能魔方mmTrix自动测评、检测与加速

    如今,越来越多的企业认识到了应用性能管理的重要作用,但是企业自身成立运维部门进行人工排查不仅成本高,而且效果也无法保证.如果能够选择可以提供最专业.完整的云应用性能管理(APM)的产品,无疑可以极大的 ...

  2. 极智AI | 英伟达 Jetson 系列边缘盒子性能测评

      本文记录了英伟达 Jetson 系列边缘盒子的性能测评小结.   测评的 AIBox 是分别来自 浪潮.研智.米文,盒子型号包括 浪潮 Jetson Xavier NX.研智 Jetson Xav ...

  3. seata之jvm参数解析

    微信公众号:我其实目前没有耶 我是一个互联网公司的螺丝钉; 魔术师耿 JVM启动参数解析 疑问1 :生产环境上常用哪些JVM参数进行设置; 疑问2 :sh 启动jar 包并配置JVM参数样例怎么写; ...

  4. appium学习总结3 - desired_capabilities参数解析

    文章目录 1.示例脚本 2.desired_capabilities 参数解析 常用参数设置 2.1 全局参数: 2.2 驱动程序及服务器 参数: 2.3 App 参数: 2.4 App本地化 参数: ...

  5. JVM启动参数解析(转)

    JVM启动参数解析(转) (2010-03-17 19:45:19) 转载 标签: jvm 启动参数 it 分类:他山之石攻己之玉 dk1.4.2 JVM官方地址:http://java.sun.co ...

  6. zabbix登山路——简单监控_各项参数解析

    一.简单检查,通常用来检查远程未安装代理或者客户端的服务 使用simple checks,被监控客户端无需安装zabbix agent客户端,zabbix server直接使用simple check ...

  7. 详解GPU的常见参数及其对显卡的重要性

    这里我们简单的讲一下GPU的各种参数及其对显卡性能的重要性.按重要性来排首先是核心,其次是核心频率,第三是显存位宽,第四是显存频率,第五是显存大小,以上5个指标重要性从第一个到最后一个递减,也就是说核 ...

  8. LSTM UEBA异常检测——deeplog里其实提到了,就是多分类LSTM算法,结合LSTM预测误差来检测异常参数...

    结合CNN的可以参考:http://fcst.ceaj.org/CN/article/downloadArticleFile.do?attachType=PDF&id=1497 除了行为,其他 ...

  9. SpringMVC源码之参数解析绑定原理

    摘要 本文从源码层面简单讲解SpringMVC的参数绑定原理 SpringMVC参数绑定相关组件的初始化过程 在理解初始化之前,先来认识一个接口 HandlerMethodArgumentResolv ...

最新文章

  1. 织梦 ajax 返回,Dede织梦arclist标签+Ajax实现织梦首页分页-叙述织梦
  2. 将pdf转为html,使用pdfdom将pdf转为html
  3. golang defer的使用
  4. Lucene.net常见功能实现知识汇总
  5. pfx证书密码怎么查询_2019成考成绩查询时间通知!忘记账号和密码怎么办?
  6. Django中的shell,和数据增删查改
  7. iptables 添加,删除,查看,修改
  8. hbase shell命令_Hbase的简单命令使用
  9. 分布式锁 哨兵模式_手撕redis分布式锁,隔壁张小帅都看懂了!
  10. PX4代码解析(2)
  11. 《深入理解 Spring Cloud 与微服务构建》第六章 服务注册和发现 Eureka
  12. python能做什么软件-python可以编写什么软件
  13. Quartz配置文件quartz.properties加载
  14. font-family:中文字体的英文名称
  15. 报错解决:DataLossError: Unable to open table file Data loss: not an sstable (bad magic number):
  16. 市场竞争力法则:以小博大,虽败犹荣
  17. Git HEAD指针
  18. Kali安装beef-xss
  19. Python turtle画图之心形图案
  20. 掌握一项陌生技能,没你想得那么难

热门文章

  1. 《痞子衡嵌入式半月刊》 第 74 期
  2. 微信小程序开发技术栈
  3. 你学过的每样东西,都会在你一生中的某个时刻派上用场(转)
  4. 教资面试步骤详解,教师资格面试流程有哪些?
  5. HTML中的img标签
  6. 我绑定了手机,怎么没有赠送的下载积分呀
  7. clone fail smartgit_SmartGit
  8. 【C++】STL中deque底层剖析
  9. 古筝-----选购要素
  10. 电源管理 第二部分 ---- Windows CE设备驱动开发之电源管理