Unreal游戏GPU参数详解,游戏性能优化再升级

news2024/11/25 20:33:51

UWA GOT Online For Unreal GPU模式近期全新发布,方便开发者从渲染和带宽的角度进行GPU分析。同时,此次更新中UWA也增加了丰富的GPU参数,涵盖了GPU SoC和GPU Counter模块。这些新增的参数不仅能够帮助Unreal开发者从宏观层面监控GPU的压力状况,还能够提供更全面、更精确的数据信息,以确定GPU压力的来源。

下面,我们将详细解读SoC GPU信息以及GPU Counter相关的数据,并给出UWA的建议,助力开发者更好地理解和优化GPU性能。

一、GPU SoC

GPU SoC目前支持MTK芯片和安卓10及以上的HISI SoC芯片设备,开发者可以通过这些参数,从更宏观的角度对设备的GPU运行情况进行监控,观察GPU运行状态、判断是否存在GPU降频情况。

GPU Freq
GPU Freq表示当前采样帧GPU的工作频率,不同型号和厂商的GPU具有不同的额定最大频率,且GPU会动态调整工作频率。开发者可以通过GPU频率观察GPU的工作情况,结合GPU Counter下的具体参数,快速判断GPU是否处于正常工作状态。

GPU Usage
GPU Usage表示GPU频率相对GPU额定最大频率的百分比,该参数走势和GPU频率走势一致。当GPU负载持续较高时,说明设备持续处于高压场景,长期处于这种情况容易引起GPU过热,造成游戏性能表现下滑,需要开发者结合GPU Counter模块重点关注这些场景的GPU压力。

DDR Freq
在HISI SoC设备上,还支持DDR Freq参数,表示设备系统内存频率,而DDR的工作状态也会影响到GPU的性能释放。

GPU Load
在MTK SoC设备上支持GPU Load统计,该值表示GPU的时钟周期数占当前可用时钟周期数的百分比,即当前额定频率的利用率。需要注意的是,GPU利用率仅表示当前频率下GPU的使用情况,而非GPU压力情况。

二、GPU Counter

GPU Counter是对GPU数据进行了更全面的补充。本次更新增加了大量的GPU Counter参数,进一步完善了GPU数据的全面性和准确性。其中一些参数在Mali、PowerVR、Adreno GPU芯片设备上都可以获取到,以便开发者对项目的GPU性能压力情况进行更准确的判断。

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

GPU Clocks
GPU Clocks,表示渲染一帧耗费的GPU时钟周期数,是用于衡量GPU性能的主要指标。通过GPU Clocks,开发者可以快速定位项目的GPU压力主要来自哪些场景,并结合GPU Counter下的其他参数对GPU压力情况进行具体分析。

GPU Shaded
GPU Shaded包括Fragment shaded、Vertices shaded和Cycles/Pixel三项指标。Cycles/Pixel表示项目的平均每像素复杂度,新增的Fragment shaded则可以从另一个方面体现项目的Overdraw情况。

其中Fragment shaded表示每帧Fragment shader执行了多少次,用Fragment shaded数除以设备分辨率,可以侧面反映项目的Overdraw情况。当Overdraw较高时,容易引起发热和能耗方面的问题。我们可以通过降低半透明粒子特效的粒子数量、使用不规则面片代替矩形面片渲染粒子特效或UI等方式,减少项目的Overdraw层数,降低GPU压力。

而Vertices shaded则表示每帧Vertex shader执行了多少次。使用Vertices shaded除以输入图元数,即可得到平均每个图元进行了多少次Vertices shaded。

GPU Primitive-Culled Primitives
对GPU Primitive下的Culled Primitives,UWA也进行了更细致的拆分,新增了二级参数FacingCullingPrimitives(面剔除图元数)、FrustumCullingPrimitives(视锥剔除数)、CoverageCullingPrimitives(微图元剔除数)。

通过这些参数,开发者可以迅速确定Culled Primitives的构成比例,以便有针对性地检查和优化那些场景中可能存在GPU浪费的资源。


除了上述参数外,本次更新也根据不同品牌芯片的特点,分别获取到了独特的参数。通过这些参数,开发者可以对数据进行进一步分析,精准定位GPU性能压力的源头。

Mali芯片

GPU Shader Instructions
GPU Shader Instructions,即每帧GPU执行的Shader指令数。GPU Shader Instructions和现有的Shader Cycles是两个层面的含义,Shader Cycles是指Shader在GPU上实际运行时的处理周期,Shader Instructions指Shader所包含的所有指令操作数。

GPU Bandwidth-Read Total
在GPU Bandwidth的Read Total下,新增了二级参数Front-end Read、LoadStore Read和Texture Read,分别对应GPU的Tile Unit、Load/Store Unit和Texture Unit三个处理单元带宽,包括TileList数据、顶点输入属性数据、Uniform数据、颜色/深度数据、纹理数据的读取。

PowerVR芯片

Memory Bus Utilization
GPU Memory Bus Utilization,即每帧GPU内存总线负载。它表示当前GPU带宽消耗占总可用带宽的百分比。当GPU Memory Bus Utilization持续较高时,说明GPU访问内存的频率过于频繁,可以通过减少纹理资源与网格资源的大小和数量控制GPU缓存的占比。

Adreno芯片

GPU Bandwidth-Read Total
在GPU Bandwidth的Read Total下,新增Vertex Read、SP Read和Texture Read参数,和Mali GPU下一样,也包括了TileList数据、顶点输入属性数据、Uniform数据、颜色/深度数据、纹理数据的读取。


以上就是本次GOT Online For Unreal服务中新增的GPU参数。希望开发者能够结合这些参数,更加充分地了解项目的GPU性能压力情况,进而实现更高效的问题解决与性能优化。未来,UWA还将继续深入研发,探索更多性能优化的可能性,为开发者提供更多实用的工具和功能。

如果对这些功能感兴趣,这个可前往UWA官网的“GOT Online支持设备列表”,选择合适的设备进行测试:
https://www.uwa4d.com/main/supported.html

希望快速试用的开发者,可以前往UWA官网,下载最新版Unreal SDK v2.2.0,并获得14天免费试用的权益。
UWA | 致力于游戏VR和AR应用提供项目研发解决方案 | 简单优化、优化简单 | 侑虎科技

相关推荐
Unreal游戏GPU性能优化检测模式全新上线
GPU Counter功能更新|支持Adreno、PowerVR芯片
新功能|Mali GPU Counter模块新增GPU图元处理和GPU Shader Cycles
GPU Counter、Timeline功能上线 | 性能优化快人一步!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1651201.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT-TCP通信

网上的资料太过于书面化,所以看起来有的让人云里雾里,看不懂C-tcpsockt和S-tcpsocket的关系 所以我稍微画了一下草图帮助大家理解两个套接字之间的关系。字迹有的飘逸勉强看看 下面是代码 服务端: MainWindow::MainWindow(QWidget *parent) …

Jira Server 不维护了,如何将 Jira 平滑迁移到阿里云云效

作者:天彤 Atlassian 在 2020 年官方发布公告,从 2021 年起停止 Jira Server 产品的销售,并且在 2024 年彻底停止 Server 端产品的服务支持,这对于国内使用 Jira 产品的企业和研发团队造成了不小的影响。而此时国内很多 DevOps 产…

本地主机访问服务器的Redis -- 配置 ssh 端口转发

前言 在进行Java开发时,高度的依赖 Windows 上的开发软件 idea ,那么我们想访问位于服务器上的 redis 怎么办呢?在平时我们想访问位于服务器上的程序,只需要开放它的端口即可,比如我们创建的网站,比如 tomc…

【拆位法 决策包容性 位运算】2871. 将数组分割成最多数目的子数组

本文涉及知识点 拆位法 贪心 位运算 决策包容性 位运算、状态压缩、子集状态压缩汇总 LeetCode2871. 将数组分割成最多数目的子数组 给你一个只包含 非负 整数的数组 nums 。 我们定义满足 l < r 的子数组 nums[l…r] 的分数为 nums[l] AND nums[l 1] AND … AND nums[r…

使用图网络和视频嵌入预测物理场

文章目录 一、说明二、为什么要预测&#xff1f;三、流体动力学模拟的可视化四、DeepMind神经网络建模五、图形编码六、图形处理器七、图形解码器八、具有不同弹簧常数的轨迹可视化九、预测的物理编码和推出轨迹 一、说明 这是一篇国外流体力学专家在可视化流体物理属性的设计…

如何使用vue脚手架创建项目

前言 使用vue搭建项目的时候&#xff0c;我们可以通过对应的cmd命令去打开脚手架&#xff0c;然后自己配置对应的功能插件 说明&#xff1a; 要使用Vue脚手架创建项目&#xff0c;你需要先确保你已经安装了Node.js和npm&#xff08;Node.js的包管理器&#xff09;。然后&#…

Github 2024-05-07 开源项目日报 Tp10

根据Github Trendings的统计,今日(2024-05-07统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量TypeScript项目4Jupyter Notebook项目2Python项目1Batchfile项目1非开发语言项目1Java项目1HTML项目1C#项目1从零开始构建你喜爱的技术 创建周期…

性能测试基础介绍

1.性能测试的意义 1.1.现状 互联网行业发展快&#xff0c;用户量大大增加&#xff1b; 业务和系统架构越来越复杂&#xff0c;数据越来越多&#xff0c;用户不仅仅满足于功能的实现&#xff0c;在某些场景下&#xff0c;更 在意系统性能。 1.2.什么是性能测试 通过一定的手段&…

Google准备好了吗?OpenAI发布ChatGPT驱动搜索引擎|TodayAI

在科技界波澜壮阔的发展中&#xff0c;OpenAI正式宣布其最新突破——一个全新的基于ChatGPT技术的搜索引擎&#xff0c;旨在直接挑战谷歌在搜索领域的统治地位。这一创新将可能彻底改变用户上网搜索的方式。 据悉&#xff0c;这款AI驱动的搜索引擎利用了ChatGPT的强大功能&…

快速搭建linux虚拟机环境

1、虚拟机资源 VMwareWorkstation&#xff1a;Download VMware Workstation Pro virtualbox&#xff1a;Oracle VM VirtualBox 2、虚拟机系统资源 链接&#xff1a;系统资源链接 提取码&#xff1a;0gat 说明&#xff1a;此处的系统资源是采用VMwareWorkstation 虚拟机进…

【postgreessql 】查询数据库表占用物理空间

查询单个表的磁盘使用量&#xff1a; SELECTrelname,pg_size_pretty ( pg_total_relation_size ( relid ) ) AS total_size FROMpg_catalog.pg_statio_user_tables; 查询所有表的总磁盘使用量&#xff1a; SELECTpg_size_pretty ( SUM ( pg_total_relation_size ( relid ) )…

【机器学习与实现】线性回归示例——波士顿房价分析

目录 一、创建Pandas对象并查看数据的基本情况二、使用皮尔逊相关系数分析特征之间的相关性三、可视化不同特征与因变量MEDV&#xff08;房价中值&#xff09;间的相关性四、划分训练集和测试集并进行回归分析 一、创建Pandas对象并查看数据的基本情况 boston.csv数据集下载&a…

《起风了》观后感

我想宫崎骏的电影是很多人心目中美好的回忆&#xff0c;每当听到有他的新电影要上映&#xff0c;总是迫不及待想去捧场&#xff0c;一刷二刷三刷却还是依然看得津津有味&#xff0c;这就是宫崎骏电影独特的魅力。《起风了》跟他的其他电影有很明显的不同&#xff0c;他的大部分…

Hive Partitioned Tables 分区表

Hive Partitioned Tables 分区表 1.分区表概念 Hive分区表&#xff08;Partitioned Tables&#xff09;是一种用于管理大量数据的机制&#xff0c;它可以将数据分散到不同的目录或分区中&#xff0c;以提高查询性能、优化数据存储和管理。 这种表结构可以根据某个列的值进行分…

【记录】Python3| 将 PDF 转换成 HTML/XML(✅⭐PyMuPDF+tqdm)

本文将会被汇总至 【记录】Python3&#xff5c;2024年 PDF 转 XML 或 HTML 的第三方库的使用方式、测评过程以及对比结果&#xff08;汇总&#xff09;&#xff0c;更多其他工具请访问该文章查看。 文章目录 PyMuPDF 使用体验与评估1 安装指南2 测试代码3 测试结果3.1 转 HTML …

【2024最新华为OD-C卷试题汇总】字符串分割(100分) - 三语言AC题解(Python/Java/Cpp)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C卷的三语言AC题解 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; 文章目录 前…

Springboot 集成 Consul 实现服务注册中心-05

因为后续很多模块都要用到注册中心&#xff0c;所以此处先实现此模块。 Consul简介 Consul是一个开源的服务发现和配置管理工具&#xff0c;具有跨平台、运行高效等特点。它由HashiCorp公司开发&#xff0c;并使用Go语言编写。Consul主要用于实现分布式系统中的服务发现、健康…

计算机毕业设计Python+Vue.js天气预测系统 中国气象质量采集与可视化 天气数据分析 天气可视化 天气大数据 天气爬虫 大数据毕业设计

摘要 随着科技技术的不断发展&#xff0c;人民物质生活质量不断提高&#xff0c;我们越来越关注身边的气象、空气等地理环境。对于普通居民我们会选择合适的气象进行出游&#xff0c;提高精神层面的生活质量&#xff1b;对于企业会关注气象变换状况&#xff0c;来定制相关的生产…

springboot lua检查redis库存

需求 最近需求需要实现检查多个马戏场次下的座位等席对应库存渠道的库存余量&#xff0c;考虑到性能&#xff0c;决定采用Lua脚本实现库存检查。 数据结构 库存层级结构 redis库存hash类型结构 实现 lua脚本 --- 字符串分割为数组 local function split(str, char)local…

rust容器、迭代器

目录 一&#xff0c;std容器 1&#xff0c;Vec&#xff08;向量、栈&#xff09; 2&#xff0c;VecDeque&#xff08;队列、双端队列&#xff09; 3&#xff0c;LinkedList&#xff08;双向链表&#xff09; 4&#xff0c;哈希表 5&#xff0c;集合 6&#xff0c;Binary…