功能上新|全新GPU性能优化方案

这篇具有很好参考价值的文章主要介绍了功能上新|全新GPU性能优化方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

GPU优化迎来了全新的里程碑!我们深知移动游戏对高品质画面的追求日益升温,因此UWA一直着眼于移动设备GPU性能优化,以确保您的游戏体验尽善尽美。然而,不同GPU芯片之间的性能差异及可能导致的GPU瓶颈问题,让优化工作变得更具挑战性。在全新升级的UWA SDK版本中,我们推出了UWA GOT Online GPU模式,带来了全新的GPU性能优化方案。

现在,让我们一一介绍这些重要功能。

  • 性能简报:该页面可以快速地帮助开发者把控项目的GPU性能压力情况
  • GPU分析:分别从渲染和带宽两个角度,对GPU性能压力进行分析
  • 渲染资源分析:开启纹理和网格资源分析功能,定位这些资源的具体使用情况
  • Overdraw快照:更便捷地定位Overdraw压力来源
  • GPU温度:快速判断设备发热的原因是否主要来自GPU

性能简报

如下图,UWA列出了测试时的FPS、GPU Clocks数据,并用浅红色背景标注了GPU Bound帧。GPU Bound表示GPU性能高压区间,此时GPU计算耗费的时钟周期数过高,可能无法支持满帧运作。

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

同时,UWA也在图表下列出了GPU性能、渲染统计、纹理资源分析和网格资源分析4个模块的参数情况和对应的优化任务队列。

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

简报的目的是帮助大家在繁复的性能指标中,快速筛选出高优先级的优化任务。如需要针对某些指标做更为深层的下探,就可以使用下文中的各个功能进行分析。

GPU分析

GPU分析模块分别从渲染和带宽两个角度,对GPU性能压力进行分析。需要注意的是,由于目前UWA在不同厂商GPU芯片采集到的参数不同,所以各个界面相关的指标可能因为GPU厂商不同而变化。

GPU渲染分析

GPU Clocks是衡量GPU性能的主要指标,结合该曲线,开发者可以快速判断各个场景中的GPU压力。

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

同时,UWA也展示出了GPU Shaded、GPU Shader Cycles、GPU Primitive指标的均值和性能走势。当某个场景中的GPU Clocks较高时,通过这些指标的推荐值和性能曲线,开发者就可以快速判断是哪些参数造成的GPU渲染计算压力,并采取相应的优化方案。

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

在UWA SDK 2.4.9版本中,UWA在Mali GPU报告下新增了GPU Shader Instructions,即每帧GPU执行的Shader指令数。GPU Shader Instructions和现有的Shader Cycles是两个层面的含义,Shader Cycles是指Shader在GPU上实际运行时的处理周期,Shader Instructions指Shader所包含的所有指令操作数。

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

注:处理同样的指令操作在不同性能的GPU上所需的处理周期也会有差异。

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

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

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

GPU带宽分析

由于GPU读、写带宽较高时都会造成大量的发热和耗电,需要开发者重点关注。

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

在UWA SDK 2.4.9版本中,UWA对GPU Bandwidth下的Read Total进行了进一步划分。

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

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

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

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

对所有GPU而言,Read Total带宽大小取决于GPU这几个单元每秒的数据读取量以及L1、L2缓存的命中率。在总数据量不变的情况下,缓存命中率越高,Read Total越小。

在下方的相关指标中,也展示了GPU Texture Filter、GPU Stall、GPU Texture Cache Miss和GPU Primitive等参数,以便开发者分析GPU带宽压力。

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

渲染资源分析

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

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

纹理资源分析

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

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

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

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

而通过Mipmap 0层采样率是否较低(低于5%),则可以判断哪些纹理资源的尺寸过大,开发者就可以通过降低这些纹理资源分辨率缓解内存压力,同时也不会影响画面效果。

网格资源分析

在网格资源分析页,除了和纹理资源相似的资源渲染利用率外,我们也可以查看网格的最小渲染密度数据。渲染利用率为0%的网格资源和纹理资源优化方式相似,而网格最小渲染密度则可以用于排查网格资源的精度是否合理。

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

渲染密度表示在平均每一万像素中网格的顶点数,如果该值大于1000,则说明我们在很小的画面中绘制了过于复杂的网格。因此,当此网格的渲染密度最小时,该数值仍然高于1000,那么此网格的顶点数大概率是过高的,开发者可以考虑对这些网格资源进行减面操作,或使用LOD分级处理。

Overdraw快照

Overdraw表示项目运行过程中单帧中整个屏幕被填充的倍数。在游戏运行过程中,场景中半透明物体的重合会使得同一个像素点在一帧中会被绘制多次,容易造成Overdraw过高,引起设备发热。

在Overdraw快照模块,UWA通过Fragment Shaded(渲染像素总数)与固定分辨率(1920x1080)计算得到了总体Overdraw,以帮助开发者对项目的Overdraw情况进行排查。

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

在测试GPU模式时,开发者可以手动Dump采集场景中具体的Overdraw情况。

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

在Overdraw快照模块,即可查看Dump帧各个相机的Overdraw情况。其中Overlay-UI(UWA)相机展示的是UGUI中Overlay部分的Overdraw信息,即所有没有挂在任何相机下UI的Overdraw信息。

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

在柱状图下方,还可以查看所选柱状图的Overdraw热力图,其中颜色越亮,表示该处像素在当前帧中被填充的次数较多,Overdraw较高,GPU的压力就越大。

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

开发者可以结合报告截图和Overdraw热力图,更便捷地定位项目的Overdraw压力来源。

GPU温度

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

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

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

功能上新|全新GPU性能优化方案,万象更新| UWA新功能,性能优化,UWA,GPU

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


在此次更新中,UWA更进一步地拆分和细化了项目的GPU压力成因,为您带来前所未有的优化体验。我们的目标是让您更便捷、高效地定位项目的GPU压力来源,告别盲目猜测,拥抱精准优化。

如果您对新功能感兴趣,请前往UWA官网下载最新版UWA SDK 2.4.9:
UWA | 致力于游戏VR和AR应用提供项目研发解决方案 | 简单优化、优化简单 | 侑虎科技


相关推荐

你的游戏项目有这些问题吗?
UWA报告使用技巧小视频,你get了么?(第十一弹)
文章来源地址https://www.toymoban.com/news/detail-656542.html

到了这里,关于功能上新|全新GPU性能优化方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity性能优化与分析--GPU

    每一帧,Unity 都需要确定必须渲染哪些对象,然后创建绘制调用。绘制调用是调用图形 API 来绘制对象(如三角形),而批处理是要一起执行的一组绘制调用。 随着项目变得更加复杂,您需要用管线来优化 GPU 的工作负载。 通用渲染管线 (URP) 目前使用单通道前向渲染器将高质

    2024年03月15日
    浏览(54)
  • 掌握XGBoost:GPU 加速与性能优化

    XGBoost是一种强大的机器学习算法,但在处理大规模数据时,传统的CPU计算可能会变得缓慢。为了提高性能,XGBoost可以利用GPU进行加速。本教程将介绍如何在Python中使用XGBoost进行GPU加速以及性能优化的方法,并提供相应的代码示例。 安装 GPU 支持 首先,您需要确保您的系统上

    2024年04月11日
    浏览(38)
  • GPU推理服务性能优化之路 | 得物技术

    随着CV算法在业务场景中使用越来越多,给我们带来了新的挑战,需要提升Python推理服务的性能以降低生产环境成本。为此我们深入去研究Python GPU推理服务的工作原理,推理模型优化的方法。最终通过两项关键的技术: 1.Python的GPU与CPU进程分离,2.使用TensorRT对模型进行加速,

    2023年04月23日
    浏览(51)
  • 矩阵乘GPU性能优化之split k

    矩阵乘计算GPU实现中通常为线程块计算一个较大的[m_tile, k] *[k, n_tile]的矩阵乘,最后分配到每个线程后同样为每个线程计算更小的一个[m_tile, k] *[k, n_tile]。 这样存在的一个问题主要是在于m和n较小而k很大时,如下图所示的矩阵乘案例,只能分配很少的线程和线程块,并且每个

    2024年02月06日
    浏览(64)
  • 袋鼠云产品功能更新报告08期|近百项全新功能和优化,你要的都在这里!

    欢迎来到袋鼠云08期产品功能更新报告!在瞬息万变的市场环境中,我们深知客户的需求与期待,因此,我们及时推出袋鼠云最新产品更新及优化,包括数据治理中心、Hive SQL 性能优化、新插件等,助力企业在数字世界中勇往直前。 以下为袋鼠云产品功能更新报告08期内容,

    2024年02月05日
    浏览(53)
  • 地图SDK全新版本v4.3.0上线 - 新增多项功能及优化

    以下内容转载自腾讯位置服务公众号的文章《地图SDK全新版本v4.3.0上线 - 新增多项功能及优化!》 作者:腾讯位置服务 链接:https://mp.weixin.qq.com/s/hb0-1Z0Mb5zLvR5unIjAjQ 来源:微信公众号 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 腾讯位置服务

    2024年02月08日
    浏览(43)
  • EasyMR6.2 全面解读:四大功能深度优化,解锁全新大数据处理和计算体验

    在刚刚过去的2024春季发布会上,袋鼠云带来了数栈产品V6.2版本的全新发布。其中,EasyMR 作为数栈V6.2中的一项关键能力,代表了袋鼠云对大数据生态的深入理解和持续创新。 EasyMR(后文统称EMR)是袋鼠云基于 Hadoop、Hive、Spark、Flink、HBase 等开源组件,构建的弹性计算引擎,

    2024年04月22日
    浏览(27)
  • 数据万象 | AIGC 存储内容安全解决方案

    AIGC(人工智能生产内容) 已经成为与PGC(专业生产内容)、UGC(用户生产内容)并驾齐驱的内容生产方式。由于 AI 的特性,AIGC在创意、个性化、生产效率等方面具有独特的优势,这些优势可以使得高质量的内容制作更简单,但也会帮助恶意份子更高效地炮制违法违规内容。

    2024年02月08日
    浏览(48)
  • iOS 性能优化方案-弱网优化

    选择现有网络状态 或自定义网络状态 设置参数: 每个参数的含义大致如下: in bandwidth :下行带宽 in packet loss :下行丢包率 in delay :下行延迟(ms) out bandwidth :上行带宽 out packet loss :上行丢包率 out delay :上行延迟 DNS delay :DNS解析延迟,这个功能安卓不知道怎么模拟

    2024年02月09日
    浏览(37)
  • 阿里云林立翔:基于阿里云 GPU 的 AIGC 小规模训练优化方案

    本篇文章围绕生成式 AI 技术栈、生成式 AI 微调训练和性能分析、ECS GPU 实例为生成式 AI 提供算力保障、应用场景案例等相关话题展开。 1、生成式 AI 爆发的历程 在 2022 年的下半年,业界迎来了生成式 AI 的全面爆发,尤其是以 ChatGPT 为代表的大语言模型和以 Stable Diffusion 为代

    2024年02月02日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包