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

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功能上线 | 性能优化快人一步!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【busybox记录】【shell指令】paste

目录 内容来源: 【GUN】【paste】指令介绍 【busybox】【paste】指令介绍 【linux】【paste】指令介绍 使用示例: 合并文件的行 - 默认输出(默认是行合并) 合并文件的行 - 一个文件占一行 合并文件的行 - 使用指定的间隔符…

Deeplab的复现(pytorch实现)

DeepLab复现的pytorch实现 本文复现的主要是deeplabv3。使用的数据集和之前发的文章FCN一样,没有了解的可以移步到之前发的文章中去查看一下。 1.该模型的主要结构 对于代码部分,主要只写了模型部分的,其他部分内容基本和FCN的一致&#xf…

【busybox记录】【shell指令】join

目录 内容来源: 【GUN】【join】指令介绍 【busybox】【join】指令介绍 【linux】【join】指令介绍 使用示例: 打印两个文件的共有行 - 默认输出 可以对字母排序 可以对数字排序 可以对字符串排序 打印两个文件的共有行 - 输出文件1或者文件2中…

市场营销的酒店营销策略研究意义

在市场经济条件下,市场营销策略已成为企业经营管理中最重要的组成部分,其在企业管理中的地位日益显现出来。 然而,由于酒店营销环境的特殊性,酒店营销策略研究一直是咱们从业者研究的热点之一。 对于酒店营销策略的研究&#xf…

【C++】从零开始认识多态

送给大家一句话: 一个犹豫不决的灵魂,奋起抗击无穷的忧患,而内心又矛盾重重,真实生活就是如此。 ​​​​ – 詹姆斯・乔伊斯 《尤利西斯》 _φ(* ̄ω ̄)ノ_φ(* ̄ω ̄)&…

xv6源码分析 017

xv6源码分析 017 在buffer cache上面的就是logging层了,这一层主要的工作是维持每一个文件系统写入的操作的原子性。什么是原子性?通俗地来讲,原子性可以这样理解,如果一组操作(或者一个操作)在执行的时候…

【busybox记录】【shell指令】expand

目录 内容来源: 【GUN】【expand】指令介绍 【busybox】【expand】指令介绍 【linux】【expand】指令介绍 使用示例: 把制表符转化为空格 - 默认输出 把制表符转化为空格 - 修改制表符转空格的个数 把制表符转化为空格 - 修改制表符转空格的个数…

HackMyVM-Animetronic

目录 信息收集 arp nmap nikto whatweb WEB web信息收集 feroxbuster steghide exiftool hydra ssh连接 提权 系统信息收集 socat提权 信息收集 arp ┌──(root㉿0x00)-[~/HackMyVM] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 08:00:27:9d:6d:7…

C语言——每日一题(轮转数组)

一.前言 前不久学习了时间复杂度的概念,便在力扣上刷了一道需要参考时间复杂度的题——轮转数组 https://leetcode.cn/problems/rotate-array/submissions这道题不能使用暴力算法,因为这道题对时间复杂度的要求不能为O(N^2)。因…

【数据库表的约束】

文章目录 一、NULL vs (空字符串)二、not null 和default三、列描述字段comment四、zerofill五、primary key 主键总结 一、NULL vs ‘’(空字符串) NULL和空字符串’’ NULL代表什么都没有。 空字符串’代表有,但串…

CI/CD 上云为何如此重要

近年来,敏捷度和速度日渐成为产品开发的关键。市场高速运行,时间就是金钱,也是企业发展的关键。游戏、金融、自动化产业等软件开发企业更像卷入了一场无休止的时间竞赛。 这也难怪 DevOps 备受欢迎。企业借助 DevOps 不断加速优质软件的交付…

​分享1.36G全国村名点数据

数据是GIS的血液! 我们在《2015年中国电子地图数据》一文中,为大家有偿分享了一份图层丰富,且有26.8G大小的全国电子地图。 这里再为大家分享一份有1.36G大小的全国村名数据,本数据来自网友分享,据说为2023年的村名数…

VMware 替代专题|14 个常见问题,解读 VMware 替代的方方面面

随着 VMware by Broadcom 调整订阅模式和产品组合,不少用户也将 VMware 替代提上日程。为了帮助用户顺利完成从 VMware 替代方案评估到产品落地的一系列环节,我们通过这篇博客,对 VMware 替代场景下用户经常遇到的问题进行了梳理和解答。 更…

【工作记录】openjdk-22基础镜像的构建

背景 近期使用到的框架底层都用的是springboot3.0,要求jdk版本在17甚至更高。 于是决定制作一个基于openjdk22的基础镜像,本文对这一过程进行记录。 作为记录的同时也希望能够帮助到需要的朋友。 期望效果 容器内可以正常使用java相关命令且版本是2…

再议大模型微调之Zero策略

1. 引言 尽管关于使用Deepspeed的Zero策略的博客已经满天飞了,特别是有许多经典的结论都已经阐述了,今天仍然被问到说,如果我只有4块40G的A100,能否进行全量的7B的大模型微调呢? 正所谓“纸上得来终觉浅,…

华为OD机试【路灯照明问题】(java)(100分)

1、题目描述 在一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间间距固定为100米。 每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,无法照明的区间的长度和。 2、输入描述 第一行为一个数N&#xff…

一文了解什么是SSL证书?——值得收藏

SSL证书,全称Secure Sockets Layer证书,是一种网络安全协议的实现方式,现在通常指的是其继任者TLS(Transport Layer Security)证书,不过习惯上仍称为SSL证书。它的主要作用是确保互联网上的数据传输安全&am…

ESP32 IDF linux下开发环境搭建

文章目录 介绍升级Python环境下载Python包配置编译环境及安装Python设置环境变量 ESPIDF环境搭建下载esp-idf 代码编译等待下载烧录成功查看串口打印 介绍 esp32 官方文档给的不是特别详细 参考多方资料 最后才完成开发 主要问题在于github下载的很慢本教程适用于ubuntu deban…

HarmonyOS实战开发-如何实现查询当前城市实时天气功能

先来看一下效果 本项目界面搭建基于ArkUI中TS扩展的声明式开发范式, 数据接口是和风(天气预报), 使用ArkUI自带的网络请求调用接口。 我想要实现的一个功能是,查询当前城市的实时天气, 目前已实现的功能…

5.合并两个有序数组

文章目录 题目简介题目解答解法一 :合并后排序解法二:双指针排序 题目链接 大家好,我是晓星航。今天为大家带来的是 合并两个有序数组 相关的讲解!😀 题目简介 题目解答 解法一 :合并后排序 假设我们要合…