在GOT Online Overview模式中,UWA提供了Mali GPU Counter功能模块,为的是提供给游戏研发商应对玩家对游戏画面的需求导致游戏渲染压力给性能带来的新挑战。除了GPU着色和GPU带宽模块外,还提供了GPU图元处理和GPU Shader Cycles数据的采集和展示。但基于芯片架构不同,项目在不同品牌的芯片上的性能表现也会存在差距,进一步支持更多GPU芯片的性能检测成为了UWA努力的一个目标。

好消息来啦,UWA SDK 2.4.4已发布,在这次版本更新中,新增了对Adreno和PowerVR品牌GPU芯片的支持,同时增加Mali GPU设备下GPU负载和Adreno GPU设备下GPU负载、缓存命中、纹理过滤三项参数的获取。

您可以前往UWA | 致力于游戏VR和AR应用提供项目研发解决方案 | 简单优化、优化简单 | 侑虎科技下载最新版SDK,并使用相应厂商芯片的设备进行测试,即可在GOT Online Overview的GPU模块下查看到对应的数据,掌握GPU压力和性能消耗情况。

一、Mali GPU Counter

  • GPU负载

Mali GPU Counter下的GPU负载包含Non Fragment Utilization和Fragment Utilization两个性能指标,分别代表非片段处理占整体GPU处理开销百分比和片段处理耗时占整体GPU处理开销百分比。

在Mali GPU上运行的工作负载由作业管理器统一协调,该任务管理器负责将工作负载调度到GPU内部的各个处理单元上,它将两个FIFO工作队列,称为作业插槽。其中,一个插槽用于非片段工作负载,另一个插槽则用于片段着色工作负载。

当出现GPU瓶颈时,正常情况下Non Fragment Utilization和Fragment Utilization至少有一个是接近100%,如果两者都低于100%,则有可能是Non Fragment和Fragment之间存在数据依赖关系。

当Non Fragment Utilization过高时,开发者可以从顶点数、复杂的Compute Shader的使用情况以及Geometry Shader、Tessellation Shader等角度着手进行优化。当Fragment Utilization过高时,则可以考虑项目中是否存在是否存在片段数目过多、片段Shader过于复杂。

二、Adreno GPU Counter

  • GPU负载

Adreno GPU Counter下的GPU负载则以GPU频率为主要指标。测试过程中除了CPU外,也需要对GPU芯片的工作情况予以关注。

当项目压力较高且发热明显时,GPU也可能和CPU一样发生降频情况。通过观察GPU频率,可以判断测试过程中GPU的工作情况,以便定位项目GPU压力较大的场景,并进行进一步的问题定位和优化。

  • GPU缓存

在GPU中,GPU要访问的数据在Cache中有缓存,称为“命中”(Cache Hit),反之则称为“缺失”(Cache Miss)。通过Texture L1 Cache Miss,即一级纹理缓存未命中百分比,我们可以看到GPU的缓存情况。

Texture L1 Cache Miss主要会对设备的带宽和能耗情况进行影响,当Cache Miss率越高,说明GPU做了越多的“无用功”,这是我们不希望看到的。

为了提高计算效率,应尽可能降低Cache Miss率,UWA推荐该值应小于15%。当该值较高时,开发者可以考虑从纹理过滤、Mipmap开启设置、纹理压缩等方面进行排查和优化。

  • GPU纹理过滤

GPU纹理过滤主要参数为Non-Base Level Textures,即非0层Mipmap纹理。此外,还包括Nearest Filtered(邻近过滤)、Linear Filtered(线性过滤)、Anisotropic Filtered(各向异性过滤)3项指标。

通过GPU纹理过滤参数,可以快速分析测试过程中的GPU纹理过滤情况。一般来说,UWA建议在项目中尽量使用低开销的纹理过滤,并谨慎使用各向异性纹理过滤。如果是3D游戏的话需要特别关注是否开启了Mipmap。

三、PowerVR GPU Counter

针对PowerVR GPU Counter,UWA提供了GPU 负载、GPU着色、GPU带宽、GPU图元4个模块。由于前文中已对GPU负载进行了介绍,且GPU着色、GPU带宽和GPU图元的意义与优化方向与Mali GPU Counter一致,这里不作赘述。

着色和带宽介绍参考:《GPU Counter、Timeline功能上线 | 性能优化快人一步!》

图元介绍参考:《新功能|Mali GPU Counter模块新增GPU图元处理和GPU Shader Cycles》

需要注意的是,基于Mali GPU和PowerVR GPU架构不同,同一参数在不同品牌芯片上的推荐值也会存在差异,不同设备间横向对比的意义不大,更推荐大家在相同的设备上进行纵向对比。

同时,由于同品牌芯片的架构之间也会存在差异,UWA目前仅支持部分芯片的GPU Counter数据采集,具体支持设备列表可通过下图或登录UWA官网对“Mali/Power VR/Adreno GPU Counter支持设备”列表进行查询:

https://www.uwa4d.com/main/supported.html

四、功率

除了GPU Counter外,在硬件信息页新增了功率峰值参数。开发者可以通过这一模块,查看测试过程中设备的功率和电流情况,以便对项目的功耗情况进行分析。

功耗和带宽数据紧密相关,可以通过设备功耗情况推测出设备的带宽情况,当功耗较高时,带宽也会升高。因此需要关注测试过程中设备的功耗情况,避免由功耗过高引起的发热和降频。

需要注意的是,由于功耗是基于设备硬件的参数,不同设备的功耗情况可能存在较大差异,不建议在不同设备间进行功耗情况的横向对比。而当设备连接USB或充电时,功率值会受到较大影响,造成数据异常或出现负数的情况。故建议以未连接USB时测试的功率、电流数据为准。

后续我们也会提供更多相关的参数和指标,希望会对您在GPU优化上和项目的整体性能监控上有所帮助。

获得最新功能体验,请使用SDK 2.4.4版本,下载链接为:UWA | 致力于游戏VR和AR应用提供项目研发解决方案 | 简单优化、优化简单 | 侑虎科技。为了方便管理,新版本SDK的文件结构发生了变化,所以建议删除旧版SDK(包括Plugins中相关文件)后,再进行新SDK的集成。

GPU Counter功能更新|支持Adreno、PowerVR芯片相关推荐

  1. PyTorch 1.12发布,正式支持苹果M1芯片GPU加速,修复众多Bug

    作者丨陈萍 来源丨机器之心 PyTorch 1.12 正式发布,还没有更新的小伙伴可以更新了. 距离 PyTorch 1.11 推出没几个月,PyTorch 1.12 就来了!此版本由 1.11 版本 ...

  2. 高通驱动9008安装_小米10/Redmi K30 Pro系列已支持GPU驱动独立更新,还能双版本切换...

    高通在去年末发布的那颗骁龙865处理器,一大功能升级就是支持GPU驱动独立更新.手机厂商可以通过Google Play或者自己的应用商店向用户推送新版本的GPU驱动更新,大大地简化了这类系统关键组件的 ...

  3. LoadRunner 2016首次更新,增强多项功能,支持更多平台|附下载

    2019独角兽企业重金招聘Python工程师标准>>> 本次是继上次2015年末LoadRunner推出的12.5重大版本更新之后的首次更新,本次更新在v12.50的基础上改进并增强 ...

  4. it之家鸿蒙手机系统,IT之家安卓版新功能!支持识别鸿蒙系统与鸿蒙应用,无需更新...

    原标题:IT之家安卓版新功能!支持识别鸿蒙系统与鸿蒙应用,无需更新 IT之家 6 月 2 日消息 今日晚间,HarmonyOS 2 操作系统及华为全场景新品发布会召开.届时,可以覆盖手机等移动终端的 ...

  5. 小米10性能再进化!小米带来国内安卓系统GPU驱动首次更新——初阶GPU及其驱动升级认识

    去年12月,高通宣布率先开放 GPU 驱动更新,骁龙865.骁龙765等系列将在后期获得公开的 GPU 驱动更新,首批支持的机型有小米10/10Pro和 Redmi K30 Pro等.基于此点,前些时 ...

  6. Unity 2018.3地形功能更新介绍

    Unity 2018.3将更新地形系统,此次更新涉及改进的工具和利用GPU实现的更高性能.它还添加了HDRP高清晰渲染管线和LWRP轻量级渲染管线的支持,同时兼容内置渲染管线和现有Unity地形系统. ...

  7. CPU、GPU、FPGA、ASIC等AI芯片特性及对比

    1.前言 目前,智能驾驶领域在处理深度学习AI算法方面,主要采用GPU.FPGA 等适合并行计算的通用芯片来实现加速.同时有部分芯片企业开始设计专门用于AI算法的ASIC专用芯片,比如谷歌TPU.地平 ...

  8. 云函数查询_速览 | 京东云5月重要产品与功能更新

    新增产品 高可用组 正式发布 产品概述: 高可用组是京东云提供的云主机逻辑集合,高可用组内的云主机分散部署在相互隔离的物理资源上,当出现硬件故障或定时维护时只会影响部分云主机,客户业务仍为可用状态,本 ...

  9. gtx660 linux驱动下载,佳能 NVIDIA GeForce GTX660 GPU 驱动程序下载-更新佳能软件(显卡)...

    Biostar NVIDIA GeForce GTX660 GPU 驱动程序下载 手动 NVIDIA GeForce GTX660 GPU 驱动程序更新说明: 您的 %%os%% 或通过安装最新的 W ...

最新文章

  1. 0x43.数据结构进阶 - 线段树
  2. linux上jar包无法识别本地文件格式,解决使用maven将项目打包成jar包后运行在linux系统中无法读取jar包中文件的问题...
  3. 机器能否拥有像人类一样的意识?Science长文综述解读
  4. 全球及中国洗涤剂行业十四五总体规模与盈利状况分析报告2022版
  5. Python基础教程(008)--第一个Python程序
  6. Queue:poll、offer、element、peek的区别
  7. leetcode139 单词拆分
  8. vmware给linux增加空间,vmware增加linux硬盘空间
  9. 直接访问WEB-INF目录下的JSP页面的方法
  10. 任务管理器中arcsom.exe和arcsoc.exe的个数问题
  11. 极简代码(一) —— class label 的统计计数
  12. windows bat脚本实现快速配置JDK 环境变量
  13. iOS .xib文件 添加点击事件 及 点击不响应 注意点
  14. Libmicrohttpd简介
  15. html英文期刊参考文献,外文期刊参考文献标准格式
  16. 命令行获取本地安全策略
  17. npoi 删除多行 操作excel_使用NPOI导出Excel ICell调用过剩 内存溢出
  18. Unity Singleton 单例类
  19. ubuntu 强制关闭程序或窗口方法
  20. 修改mysql字段为主键且自增

热门文章

  1. 程序员如何编写高大上且实用的技术文档--转
  2. Mac远程Win桌面官方工具——Microsoft Remote Desktop for mac
  3. 深入理解java虚拟机第一第二部分(周志明第三版)
  4. 今天在QQ群中看到这么一段,广告词新编,太有才了
  5. html怎么消除上下间距,html上下间距怎么调-电脑自学网
  6. C#导入导出数据到Excel的通用类源码
  7. 中点圆c语言程序,[图形学] 画圆(基于中点算法)
  8. 随机生存森林的模型建立和结果解读
  9. AD7606与STM32F103ZET6的串行通信
  10. 微信扫付款后,付错款,不是好友也能联系到收款方