Unreal游戏GPU性能优化检测模式全新上线

news2024/11/25 7:00:48

UWA已经在去年推出了针对于Unity项目的GPU性能优化工具,通过对GPU渲染性能、带宽性能以及各种下探指标,帮助Unity项目研发团队定位由GPU导致的发热耗电问题。这个需求在Unreal团队中也极为强烈,因此UWA将该功能移植到针对Unreal项目的GOT Online测试工具中,帮助UE团队优化项目更有抓手。

一、性能简报

在GOT Online For Unreal测评报告中,UWA罗列了测试时的FPS、GPU Clocks和GPU Bound。

GPU Clocks是可以衡量渲染一个画面的GPU端的工作量,该值不受帧率影响,只要画面内容不变,Clocks就不变。这里有个定量公式:当单帧Clocks * 目标帧率大于设备的GPU最大频率,那么帧率是一定会跑不满帧。同时,为了避免设备高频运行导致快速降频,我们建议把GPU的Clocks工作控制在80%以内相对安全。

GPU Bound表示GPU性能高压区间,在上图中用红色区域标出,此时GPU计算耗费的时钟周期数过高,无法支持满帧运作。有了指标,我们也能明确优化重点:即把Clocks降低到正好能跑满30帧/60帧的范围。

针对GPU Clocks和GPU带宽,UWA也在图表下列出更为细分的优化指标。研发团队可以快速了解哪些指标超出了合理值。

性能简报的目的是帮助大家在繁复的性能指标中,快速筛选出高优先级的优化任务。如需针对某些指标做更为深层的下探,就可以前往报告中对应的界面中,对各个参数具体进行分析。

一般而言,我们建议大家从GPU性能和带宽两个角度分别剖析。

需要注意:由于目前UWA在不同厂商GPU芯片采集到的参数不同,所以各个界面相关的指标可能因为GPU厂商不同而变化。

GPU渲染分析
在分析Clocks时,我们需要从细化维度即顶点压力和片元压力分别定位。

  • 当顶点压力过高时,会体现在参数GPU Primitive,即GPU绘制的图元数量中。开发者可以迅速确定Culled Primitives的构成比例,以便有针对性地检查和优化那些场景中可能存在GPU浪费的资源。

  • 片元阶段的计算量体现在总共要绘制多少个像素。在UWA报告中,GPU Shaded中的Fragment Shaded参数代表了GPU在每帧中执行Fragment Shader的总执行次数。而其中,渲染分辨率就决定了绘制一遍移动端设备的全屏要绘制多少个像素。

除此之外也提供了Overdraw的检测趋势,便于我们快速发现场景中有哪些Overdraw过高导致的GPU Bound。

GPU带宽分析
分析GPU压力的另一个维度就是带宽,虽然不直接影响帧率,但是非常影响能耗。由于GPU读、写带宽较高时都会造成大量的发热和耗电,需要开发者重点关注。

除了以帧为单位,报告中也展示了以秒为单位的GPU Bandwidth(In seconds),以便开发者进行数据换算和对齐。

在下方的相关指标中,也展示了GPU Texture Filter、GPU Stall、功率等参数,协助开发者做进一步定位。

二、场景概览

在场景概览的性能概览页下,开发者可以快速查看上述所有参数在各个场景中的性能情况,并结合推荐值和标红情况,判断各个场景中各项参数值是否在合理范围内,掌握项目各个场景的性能情况。

除了在网页端,开发者也可以通过导出数据功能,导出这些参数和对应场景的场景性能表,以便更自由地在本地进行备份和分析。

三、渲染资源分析

当参与渲染的纹理和网格资源越多、采样越多时,资源内存占用会相应上涨。为了保证让参与渲染计算的资源物尽其用,开发者可以手动开启纹理和网格资源分析功能,定位这些资源的具体使用情况。

在纹理资源分析页,除了纹理资源的内存、数量、尺寸等参数外,我们还可以查看纹理渲染利用率数据。

在网格资源分析页,同样也可以通过网格资源渲染利用率信息,定位网格资源的使用情况。

通过纹理和网格渲染利用率,开发者即可快速定位到一直在内存中但从未参与过渲染的资源,以此排查是否存在场景中不可见的渲染物体、不合理的打包和加载策略等可能造成此种浪费的因素。

四、GPU温度

GPU压力较高时容易引起设备发热。UWA统计了设备的GPU、CPU、电池温度,以便开发者判断设备发热的原因是否主要来自GPU。

若确认是由于GPU压力导致发热,接下来可以进一步排查与GPU温度情况有关的参数,譬如FPS、GPU Clocks、GPU Bandwidth。而功率则会和GPU温度相互影响,也是反应能耗和发热问题的重要参数。

这里特别建议大家:由于CPU和GPU芯片位置较近,当CPU压力较大产生发热时,也可能带动GPU一起发热。所以在优化GPU发热问题时,也要适当结合CPU压力情况进行排查分析。当项目存在耗电快、温度高的现象时,开发者可以从GPU性能压力、GPU带宽、CPU主线程、CPU子线程等方面着手,优化发热问题。


以上就是GOT Online For Unreal GPU模式的主要功能介绍,希望开发者们可以通过这些新功能,更高效地找到项目性能GPU问题的症结所在,从而提升游戏的整体性能和流畅度。相信在开发者和UWA的共同努力下,游戏项目将会拥有更加精美、流畅的画面。

欢迎前往UWA官网,下载最新版Unreal SDK v2.2.0:
UWA | 致力于游戏VR和AR应用提供项目研发解决方案 | 简单优化、优化简单 | 侑虎科技

相关推荐
Unreal游戏GPU参数详解,游戏性能优化再升级
GPU Counter功能更新|支持Adreno、PowerVR芯片
新功能|Mali GPU Counter模块新增GPU图元处理和GPU Shader Cycles
GPU Counter、Timeline功能上线 | 性能优化快人一步!

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

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

相关文章

深度学习之基于Vgg16卷积神经网络心电图心脏病诊断系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 心脏病作为全球范围内的一种常见且严重的疾病,其早期的准确诊断对于患者的治疗和康复至关…

深度学习之基于YOLOv8学生课堂行为检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与目标 随着教育信息化的不断推进,对学生课堂行为的实时监测与评估成为了教育领域的研究热…

图像处理技术与应用(四)

图像处理技术与应用入门 颜色空间及其转换 颜色空间是一种用于在数字图像中表达和指定颜色的方法。不同的颜色空间使用不同的方式来定义颜色,每种方式都有其特定的用途和优势。以下是一些常见的颜色空间及其特点: RGB(红绿蓝)&a…

【七十九】【算法分析与设计】并查集模板!!!并查集的实现_牛客题霸_牛客网,【模板】并查集 - 洛谷,并查集代码!!!

并查集的实现_牛客题霸_牛客网 描述 给定一个没有重复值的整形数组arr,初始时认为arr中每一个数各自都是一个单独的集合。请设计一种叫UnionFind的结构,并提供以下两个操作。 boolean isSameSet(int a, int b): 查询a和b这两个数是否属于一个集合 void u…

SparkSQL编程入口和模型与SparkSQL基本编程

SparkSQL编程入口和模型 SparkSQL编程模型 主要通过两种方式操作SparkSQL,一种就是SQL,另一种为DataFrame和Dataset。 1)SQL:SQL不用多说,就和Hive操作一样,但是需要清楚一点的是,SQL操作的是表&#xf…

90、动态规划-最长的有效括号

思路: 找出有效括号并且是最长的有效括号 dp[i]表示以i结尾的括号最长是多少 然后从1开始 因为从0位置不管是左括号还是右括号都是无法形成一个完成的括号。所以dp[0]0; 当i1时候,判断括号是否是)如果不是那么无法结尾&#x…

3. FactoryTalk View SE按钮工具库

系统自带的按钮比较丑陋,为了迎合客户需求可以从工具库中选择漂亮的按钮图形。 单击按钮选择释放外观–使用图像引用–启动库–选择按钮库,找到一款合适的图形–右键copy copy之后点击从库中粘贴–确定 这样就实现按下按钮的颜色是红色,在…

记录一次给PCAN升级固件pcan_canable_hw-449dc73.bin

方法一:网页升级 首先将3.3V与BOOT短接,插入电脑USB接口,识别为STM32 BOOTLOADER,芯片进入DFU模式。 如果电脑没有识别到STM32 BOOTLOADER,或无法驱动,则需要安装ImpulseRC_Driver_Fixer修复工具。 推荐使用Google浏览器打开网页升级选择PCAN固件,点Connect and Update,…

【Stream 流】通过一个例子看遍所有Stream API使用场景

前言 上篇文章记录了方法引用,Lambda表达式等基础的知识点,这篇文章主要结合课设项目详细介绍Stream 流的API以及它的主要场景。 Stream API作用 在Java 8及其以后的版本中,Stream API为处理集合数据提供了强大而灵活的功能。有了Stream AP…

Java双亲委派机制

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 概述 Java程序在运…

JAVA聊天室-网络编程socket+javafx+maven【附带exe+源代码,小白可运行,简单容易上手,代码附带注释】

前言 可以学习到java网络编程的知识,也可以拿去当个模板去添加功能 项目展示: chatv1.0 服务器打包视频: 服务器打包exe 1. 项目概述 本项目旨在开发一个简单的群聊室应用程序,使用JavaFX作为用户界面框架,以及Java…

管道通信与Linux命令的执行-(读书笔记-十三)

|前一个命令的输出作为后一个命令的输入。 在Linux中,|符号是一个管道符号,用于将前一个命令的输出作为后一个命令的输入。这种机制允许你将多个命令组合在一起,以执行复杂的操作。下面是一些基本的例子: 查看当前目录下的文件列…

Axure实现菜单抽屉效果

Axure是怎么实现如下效果的? 菜单打开和收起侧边栏菜单抽屉效果 实现效果 两级菜单,点击菜单收起其他菜单,打开当前菜单。 实现原理 单击一级菜单时,1)切换当下二季菜单的显示/隐藏状态 2)隐藏其他菜单…

[Android]四大组件简介

在 Android 开发中,“四大组件”(Four Major Components)是指构成 Android 应用程序的四种核心组件,它们通过各自的方式与系统交互,实现应用的多样功能。这些组件是:Activity、Service、Broadcast Receiver…

青春送温暖 立夏寄真情

(通讯员:赵灿飞 图:杨美、孙红浪) 在青春洋溢的五月,为传承中华民族尊老敬老的传统美德,促进当代青年与老人的跨代交流,增强青年的社会责任感和使命感,传递正能量和关爱困难群体…

组播应用:SW1、SW2、RT1、RT2、AC1运行PIM-SM

SW1、SW2、RT1、RT2、AC1运行PIM-SM,SW1 Vlan10为C-BSR和C-RP;SW1产品网络(PC1)启用组播,用VLC工具串流播放视频文件“1.mp4”,模拟组播源,设置此视频循环播放,组地址232.1.1.1,端口1234,实现总公司和分公司收看视频,用PC2测试。 一、SW1、SW2、RT1、RT2、AC1配置如…

功能全面的外发文件控制方案,拿走不谢

在日常办公中,很多企业往往只采取各种措施来确保存储数据的安全,却忽略了文件外发的安全。因此企业由于自身的安全防护机制不严谨,引发的数据安全事件频发,经常导致严重的经济损失。使用较多的外发方式有邮件、IM通讯工具、网盘、…

docker的commit命令使用制作镜像

docker run -it ubuntu 最基础的ubuntu启动后安装vim 的命令 apt-get update apt-get -y install vim docker commit -m"my_test_ubuntu" -a"za" 80977284a998 atljw/myubuntu:1.0 将本地镜像推送到阿里云 首先登录阿里云服务-控制台 记得一定要设定设…

鸢尾花分类-pytorch实现

前言 本文用pytorch实现了鸢尾花分类,数据不多,只做代码展示用,后续有升级版本。 代码 -*- coding: utf-8 -*- File : main.py Author: Shanmh Time : 2024/05/06 上午9:37 Function:import torch from sklearn import datase…

uniapp生成二维码(uQRCode)与自定义绘制样式与内容

二维码生成使用了一款基于Javascript环境开发的插件 uQRCode ,它不仅适用于uniapp,也适用于所有Javascript运行环境的前端应用和Node.js。 uQRCode 插件地址:https://ext.dcloud.net.cn/plugin?id1287 目录 1、npm安装 2、通过import引…