0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

UWA推出全新GPU性能测评工具,支持多款PowerVR芯片优化

颖脉Imgtec 2023-08-14 10:13 次阅读

移动设备GPU 性能优化对玩家游戏体验至关重要。侑虎科技 UWA 一直专注于游戏和 VR 应用的性能优化,移动设备 GPU 优化是其关注的重点,为了更好地满足开发者针对不同 GPU 芯片的性能测评与优化,日前他们在全新升级的UWA SDK 2.4.8版本中,推出了 GPU 性能测评工具—UWA GOT Online GPU 模式。这也是 UWA 继去年GPU Counter 功能更新增加Imagination PowerVR GPU 芯片支持后的一次重要升级。

全新的UWA GOT Online GPU 模式带来了更全面的GPU 性能优化方案。在 UWA 官方公开的 GOT Online 支持设备列表中,可以看到对多款Imagination PowerVR GPU的支持:GE8100、GE8200、GE8300、GE8310、GE8430、GE8320、GE8325、GE8340 等,并且会持续刷新支持Imagination PowerVR GPU的型号,表中还列出了GPU耗时均值、GPU着色、GPU带宽、GPU图元处理、GPU负载等多个评测优化维度。Imagination 将与 UWA 持续合作帮助开发者对GPU 进行更好地优化。

30d3fd9a-3a48-11ee-bbcf-dac502259ad0.png

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

  • 性能简报:该页面可以快速地帮助开发者把控项目的GPU性能压力情况

  • GPU分析:分别从渲染和带宽两个角度,对GPU性能压力进行分析

  • 渲染资源分析:开启纹理和网格资源分析功能,定位这些资源的具体使用情况

  • Overdraw快照:更便捷地定位Overdraw压力来源

GPU温度:快速判断设备发热的原因是否主要来自GPU


性能简报

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

3104379e-3a48-11ee-bbcf-dac502259ad0.png

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

311ba4c4-3a48-11ee-bbcf-dac502259ad0.png

312901dc-3a48-11ee-bbcf-dac502259ad0.png

314aab7a-3a48-11ee-bbcf-dac502259ad0.png

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


GPU分析

在指标汇总下,展示了测试过程中获取到的各项GPU参数。同时,UWA也根据这些指标间的关联,分别从渲染和带宽两个角度,帮助开发者对GPU性能压力进行具体分析。

1. 指标汇总

GPU TimeGPU Time即每帧的GPU耗时。GPU耗时的推荐值和CPU耗时一样,当项目需要维持在30帧时,GPU耗时应低于33ms(UWA推荐控制在28ms更佳)。同时,UWA也列出了渲染耗时Fragment Time和顶点处理耗时Non-Fragment Time数据作为补充。

3164c5b4-3a48-11ee-bbcf-dac502259ad0.png


Clocks

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

318471de-3a48-11ee-bbcf-dac502259ad0.png


GPU Utilization

Fragment Utilization和Non Fragment Utilization分别表示图元处理和非图元处理任务处于活动状态的时间百分比。

31a409a4-3a48-11ee-bbcf-dac502259ad0.png

当Non Fragment Utilization高时,开发者可以从面片数、面剔除、模型复杂度等角度着手进行优化;而当Fragment Utilization高时,则考虑项目中是否存在Overdraw过高、Fragment Shader过于复杂等问题。


GPU Shaded

在GPU Shaded下,可以获取到相关的Fragment shaded、Vertices shaded、Cycles/Pixel指标数据。

31c88b4e-3a48-11ee-bbcf-dac502259ad0.png

其中Cycles/Pixel表示平均每个像素耗费的GPU时钟周期。当画面的Shader复杂度过高/或者Overdraw过高时,GPU需要消耗大量的时钟周期对Shader进行运算,容易造成GPU耗时变高,造成卡顿。通过Cycles/Pixel,即可快速定位高Cycles的场景,需要进一步判断场景的GPU压力是否是由于Shader复杂度过高还是Overdraw过高造成,进行有针对性的优化。

31eb6326-3a48-11ee-bbcf-dac502259ad0.png

Fragment shaded表示每帧Fragment shader执行了多少次,用Fragment shaded数除以设备分辨率,可以侧面反映项目的Overdraw情况。

当Overdraw较高时,容易引起发热和能耗方面的问题。我们可以通过降低半透明粒子特效的粒子数量、使用不规则面片代替矩形面片渲染粒子特效或UI等方式,减少项目的Overdraw层数,降低GPU压力。

31f12108-3a48-11ee-bbcf-dac502259ad0.png

而Vertices shaded则表示每帧Vertex shader执行了多少次。使用Vertices shaded除以输入图元数,即可得到平均每个图元进行了多少次Vertices shaded。UWA推荐平均每个图元执行次数应控制在1.5次以下。

3207e47e-3a48-11ee-bbcf-dac502259ad0.png


GPU Bandwidth

和CPU一样,GPU Bandwidth也是芯片耗电的重要指标。当GPU持续进行高负载外部读写时,掉电就会过快。UWA的GPU Bandwidth模块统计了测试过程中单帧的读写带宽总量,通过查看GPU Bandwidth模块,可以快速定位测试过程中带宽较高的场景和原因,并进行进一步测试优化。

32228806-3a48-11ee-bbcf-dac502259ad0.png


GPU Memory Bus Utilization

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

324644f8-3a48-11ee-bbcf-dac502259ad0.png


GPU Primitive

渲染面是产生GPU压力的重要因素之一,渲染面过多可能是模型过于复杂;也可能是地形、大建筑物等大面积模型没有进行适当的拆分,导致进入视域体的面片可能不多,但提交GPU的渲染面依然很多。

对于这种情况,我们可以通过GPU Primitive下的各项参数来进行初步判断。

3267ca42-3a48-11ee-bbcf-dac502259ad0.png

Input Primitives:提交到GPU端的图元总数,该数值基本等同于引擎端统计的渲染面片总数。

Visible Primitives:在GPU端通过各种裁剪之后,留下的参与渲染的三角面。

Culled Primitives:因为在视域体外而被裁剪的三角面,因为朝向而被裁剪的三角面。

GPU图元处理数量过多会对设备的带宽和能耗造成较大的影响,应尽量在程序端完成剔除,并减小送往GPU的图元数。在3D场景中,比较理想的情况下,可见图元的数量应该接近或高于 50%(对于大部分模型,有一半三角面会因为朝向被裁剪)。如果某些角度下,可见图元的比例非常低,则很可能存在上文提到的第二种情况,从而可以针对性地检查和优化场景中,这个角度下,被提交到GPU的大面积模型。

32874d68-3a48-11ee-bbcf-dac502259ad0.png

2. GPU渲染分析

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

32a22584-3a48-11ee-bbcf-dac502259ad0.png

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

32b5b4c8-3a48-11ee-bbcf-dac502259ad0.png


3. GPU带宽分析

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

在相关参数中,也展示了GPU Memory Bus Utilization、GPU Primitive参数。比如当GPU Primitives较高时,就说明提交到GPU端的图元总数较多,可能引起较高的带宽压力。

32dacb32-3a48-11ee-bbcf-dac502259ad0.png32f66784-3a48-11ee-bbcf-dac502259ad0.png


渲染资源分析

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

3323d69c-3a48-11ee-bbcf-dac502259ad0.png

纹理资源分析

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

33f87fe6-3a48-11ee-bbcf-dac502259ad0.png

34277332-3a48-11ee-bbcf-dac502259ad0.png

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

344f6f18-3a48-11ee-bbcf-dac502259ad0.png

347f65ba-3a48-11ee-bbcf-dac502259ad0.png

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

网格资源分析

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

3499167c-3a48-11ee-bbcf-dac502259ad0.png

当网格的最大屏占比小于0.02%时,说明网格在手机屏幕中只占很小的一部分,可见性较低。如果同时网格的复杂度较高,就说明网格的精度过高,开发者可以考虑使用更低精度的模型进行替换。

34bf2a7e-3a48-11ee-bbcf-dac502259ad0.png

34d2a342-3a48-11ee-bbcf-dac502259ad0.png

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


Overdraw快照

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

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

34e9c144-3a48-11ee-bbcf-dac502259ad0.png

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

350535c8-3a48-11ee-bbcf-dac502259ad0.png

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

35385264-3a48-11ee-bbcf-dac502259ad0.png

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

355204e8-3a48-11ee-bbcf-dac502259ad0.png

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


GPU温度

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

3573bf5c-3a48-11ee-bbcf-dac502259ad0.png

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

358c657a-3a48-11ee-bbcf-dac502259ad0.png

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

UWA提供的性能测评工具更进一步地拆分和细化了项目的GPU压力成因,为您带来前所未有的优化体验。UWA的目标是让您更便捷、高效地定位项目的GPU压力来源,告别盲目猜测,拥抱精准优化。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    453

    文章

    50360

    浏览量

    421646
  • gpu
    gpu
    +关注

    关注

    28

    文章

    4700

    浏览量

    128674
  • vr
    vr
    +关注

    关注

    34

    文章

    9633

    浏览量

    150037
收藏 人收藏

    评论

    相关推荐

    英特尔12月或发布Battlemage GPU芯片

    近日,有关英特尔即将在12月发布全新Battlemage GPU芯片的传闻再次被证实。据硬件挖掘者和泄密者Tomasz Gawrońsk分享的预告图显示,英特尔极有可能在AMD RDNA 4和英伟达Blackwell之前,率先
    的头像 发表于 11-19 17:37 265次阅读

    NPU与GPU性能对比

    NPU(Neural Processing Unit,神经网络处理单元)与GPU(Graphics Processing Unit,图形处理单元)在性能上各有千秋,它们各自的设计初衷和优化方向决定了
    的头像 发表于 11-14 15:19 342次阅读

    天玑9400技术详解:如何蝉联GPU性能、能效双冠军

    全新高度,引发了广泛好评。 天玑9400搭载全新顶级12核GPU G925,相较上代拥有超过41%的峰值性能飞跃,在保持与上一代相同的峰值性能
    的头像 发表于 11-07 14:00 167次阅读
    天玑9400技术详解:如何蝉联<b class='flag-5'>GPU</b><b class='flag-5'>性能</b>、能效双冠军

    如何构建及优化GPU云网络

    并从计算节点成本优化、集群网络与拓扑的选择等方面论述如何构建及优化GPU云网络。
    的头像 发表于 11-06 16:03 236次阅读
    如何构建及<b class='flag-5'>优化</b><b class='flag-5'>GPU</b>云网络

    如何优化SOC芯片性能

    优化SOC(System on Chip,系统级芯片芯片性能是一个复杂而多维的任务,涉及多个方面的优化策略。以下是一些关键的
    的头像 发表于 10-31 15:50 195次阅读

    使用Arthas火焰图工具的Java应用性能分析和优化经验

    分享作者在使用Arthas火焰图工具进行Java应用性能分析和优化的经验。
    的头像 发表于 10-28 09:27 147次阅读
    使用Arthas火焰图<b class='flag-5'>工具</b>的Java应用<b class='flag-5'>性能</b>分析和<b class='flag-5'>优化</b>经验

    名单公布!【书籍评测活动NO.43】 算力芯片 | 高性能 CPU/GPU/NPU 微架构分析

    。本书对华为等厂商推出的NPU芯片设计也做了架构描述,中国也拥有独立自主知识产权的高算力芯片,并且支持芯片、高带宽互连。本书也回顾了近20
    发表于 09-02 10:09

    实测分享,瑞芯微RK3588八核国产处理器性能测评!确实“遥遥领先”!

    -每秒核心数,此单位表示处理器在一秒钟内可处理的任务数量。通过比较不同处理器的每秒核心数,可大概了解它们的CPU运算性能差异。Glmark2是一个用于评估GPU性能的OpenGL基准测试工具
    发表于 07-17 10:49

    进一步解读英伟达 Blackwell 架构、NVlink及GB200 超级芯片

    和可维护性。 机密计算:推出业界首款支持可信执行环境 (TEE)-I/O 的 GPU。 4. 数据处理能力 新的解压引擎大大加快了数据分析和数据库查询的速度,使 Blackwell 在性能
    发表于 05-13 17:16

    Akamai推出全新GPU虚机

    在云计算领域,Akamai再次展现出其前瞻性的技术视野。近日,公司正式推出全新GPU虚机,该虚机配备了英伟达先进的RTX 4000 Ada显卡,为用户提供了卓越的图形处理能力。
    的头像 发表于 05-13 09:21 450次阅读

    NVIDIA推出两款基于NVIDIA Ampere架构的全新台式机GPU

    两款 NVIDIA Ampere 架构 GPU 为工作站带来实时光线追踪功能和生成式 AI 工具支持
    的头像 发表于 04-26 11:25 585次阅读

    如何打造超越英伟达性能GPU

    构建一个开放和兼容的生态系统也是提升GPU竞争力的关键。通过提供全面的开发工具、丰富的学习资源和强大的社区支持,可以吸引更多的开发者和用户使用和优化
    的头像 发表于 04-08 14:15 357次阅读

    高通推出首个支持AI优化的FastConnec 7900移动连接系统

    在今年的世界移动通信大会(MWC 2024)上,高通技术公司再次引领行业潮流,推出全新的高通®FastConnect™ 7900移动连接系统。这一创新解决方案是业界首个将Wi-Fi 7、蓝牙以及超宽带技术集成于单个芯片中的产品
    的头像 发表于 02-27 11:00 804次阅读

    高通推出首个支持AI优化的Wi-Fi 7系统FastConnect 7900

    今日,高通技术公司推出高通FastConnect 7900移动连接系统,是行业首个支持AI优化性能并在单个芯片中集成Wi-Fi 7、蓝牙和超宽带技术的解决方案。
    的头像 发表于 02-26 16:41 516次阅读

    中国发布多款国产CPU及操作系统安全可靠测评结果

    依据《安全可靠测评工作指南(试行)》,测评主要针对计算机终端和服务器搭载的中央处理器(CPU)、操作系统及数据库等基础软件硬件进行。经过对核心技术、安全保障、持续发展等多个方面的全面评估,从而评定产品的安全性与可持续性
    的头像 发表于 12-27 14:36 2224次阅读