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

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

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

相关文章

Python爬虫--Urllib基础

1. urlretrieve Urllib 库也是类似 request 库,用来解析html的 首先讲 urlretrieve 子模块 这个模块的作用是将网页下载到本地 语法: urlretrieve(网址,本地地址) 例如: 这样就可以了,他会将百度网页下载到本地D盘下&#x…

怎么给切面增加开关

为切面添加开关功能,可以在运行时控制是否启用切面逻辑,这对于调试、性能优化或特定场景的灵活控制非常有用。下面是一个基于Spring AOP和配置属性实现的简单示例,展示了如何为切面逻辑添加开关。 步骤 1: 添加配置属性 首先,定…

【管理咨询宝藏93】大型制造集团数字化转型设计方案

【管理咨询宝藏93】大型制造集团数字化转型设计方案 【格式】PDF版本 【关键词】国际咨询公司、制造型企业转型、数字化转型 【核心观点】 - 235页大型制造型集团数字化转型方案设计!细节非常详尽,图表丰富! - 系统架构必须采用成熟、具有国…

Kafka应用Demo:按主题订阅消费消息

安装环境 Kafka安装可参考官方网站的指导(https://kafka.apache.org/quickstart), 按步骤解压压缩包,修改配置。然后再启动zookeeper和kafka-server即可。 需要注意的一点:如果是在VMware虚拟机上启动的kafka, 需要修改一下server.properties配置文件&am…

STM32G0存储器和总线架构

文章目录 前言一、系统架构二、存储器构成三、存储器地址映射四、存储器边界地址五、外设寄存器边界地址 前言 此文章是STM32G0 MCU的学习记录,并非权威,请谨慎参考。 STM32G0主流微控制器基于工作频率可达64 MHz的高性能Arm Cortex-M0 32位RISC内核。该…

观测云 VS ELK:谁是日志监控的王者?

前言 作为 IT 信息系统运行状态感知和故障分析的重要手段,日志在行业兴起之初便为运维和开发环节所广泛应用。当应用和系统发生故障或出现问题时,日志数据成为了排查和诊断问题的重要依据。通过分析日志,开发人员和运维人员可以了解系统的运…

(python读取目标检测PASCAL VOC数据集,将图像采用边缘填充的方法缩放到相应大小(例如640x640),并修改对应的xml文件

python读取目标检测PASCAL VOC数据集,将图像采用边缘填充的方法缩放到相应大小(例如640x640),并修改对应的xml文件 单个文件处理批处理脚本 单个文件处理 import cv2 import os import xml.etree.ElementTree as ETdef resize_im…

苹果审核遇到的问题总结

问题一 Guideline 2.3.3 - Performance - Accurate Metadata 2.3.3 Screenshots should show the app in use, and not merely the title art, login page, or splash screen. They may also include text and image overlays (e.g. to demonstrate input mechanisms, such a…

java JMH 学习

JMH 是什么? JMH(Java Microbenchmark Harness)是一款专用于代码微基准测试的工具集,其主要聚焦于方法层面的基准测试,精度可达纳秒级别。此工具由 Oracle 内部负责实现 JIT 的杰出人士编写,他们对 JIT 及…

#LLM入门 | langchain | RAG # 4.1 简介_使用 LangChain 访问个人数据

课程介绍:《第四部分:使用 LangChain 访问个人数据》是基于LangChain创始人Harrison Chase与Deeplearning.ai合作开发的课程,旨在教授如何通过LangChain框架使语言模型(LLM)访问和应用用户个人数据。背景说明&#xff…

PD芯片取电:电子设备的动力之源6020 6500

随着现代电子技术的迅猛发展,电源管理技术在各种电子设备中扮演着越来越重要的角色。特别是近年来,随着USB Power Delivery(PD)技术的普及,PD芯片取电技术因其高效、灵活和安全的特点,成为了电子设备充电和…

java项目中如何更优雅的处理空值

在Java项目中,优雅地处理空值(null)是一个重要的实践,因为它有助于提高代码的健壮性和可读性。以下是一些建议,帮助你更优雅地处理空值: 使用Optional类(Java 8及以上) Java 8引入了…

Vue + Element-plus 快速入门

1. 构建项目 npm init vuelatest # 可选项一路回车,使用默认NO,按提示执行3条命令 cd 项目名 npm install npm run dev 2. 下载element-plus npm install element-plus --save 3.替换main.js import { createApp } from vue import ElementPlus from element-plu…

相关性分析

目录 1.交叉功率谱 2. 相关系数 1.交叉功率谱 % 生成两个信号 t 0:0.001:100; x sin(2*pi*1*t)sin(2*pi*2*t); y sin(2*pi*t )sin(2*pi*2*t); % 计算交叉功率谱密度 [Pxy, F] cpsd(x, y, [], [], [], 1/(t(2)-t(1))); % 使用正确的采样频率 % 绘制交叉功率谱密度图 …

ISIS的基本配置

1.IS-IS协议的基本配置(1) 2.IS-IS协议的基本配置(2) 3.IS-IS协议的基本配置(3) 4.案例:IS-IS配置 R1的配置如下: [AR1czy]isis 1 [AR1czy-isis-1]is-level level-1 [AR1czy-isis-…

电磁兼容(EMC):静电放电(ESD)基本原理

目录 1. 静电学简史 2. 摩擦生电原理 3. 总结 静电放电是电磁兼容(EMC)系列里最让人头疼的问题之一。无论是现在还是未来,静电问题肯定是做产品设计需要重点考虑的问题。这里来聊聊关于静电放电的一些发展历程和基本原理。 1. 静电学简史…

公开地图服务

XYZ参考: http://openwhatevermap.xyz/ 高德参考:https://blog.csdn.net/ldlzhy1984/article/details/81015180 https://blog.csdn.net/fredricen/article/details/77189453 高德矢量图:https://webrd02.is.autonavi.com/appmaptile?langzh_cn&size…

市面上好用的AI工具有哪些?

市面上的AI工具数不胜数,选择合适自己的AI工具则需要考虑自己的需求,看是否能满足的使用需求。那么市面上又有哪些好用的AI工具呢? 泰迪智能科技拥有简单易用的大数据挖掘建模平台,能够让数据创造更大的价值。 功能板块&…

技术干货:单体,SOA,微服务,分布式,集群架构详解

理解这些架构概念对于软件工程师至关重要。下面我会简要介绍这些架构,并提供一些示例代码来说明它们的实现方式。 单体架构: 在单体架构中,整个应用程序被构建为一个单独的、紧密耦合的单元。通常使用传统的三层架构:表示层、业务…

C++实现二叉搜索树(模型)

目录 1.二叉搜索树的概念 2.二叉搜索树的实现 2.1总体代码预览 2.2各个函数实现原理 链表结构体 二叉搜索树的成员变量 二叉搜索树的插入 二叉搜索树的查找 二叉搜索树的遍历 二叉搜索树的删除 1.二叉搜索树的概念 二叉搜索树又称二叉排序树,它或者是一棵空树&#…