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压力来源,告别盲目猜测,拥抱精准优化。

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

    关注

    463

    文章

    54411

    浏览量

    469151
  • gpu
    gpu
    +关注

    关注

    28

    文章

    5270

    浏览量

    136059
  • vr
    vr
    +关注

    关注

    34

    文章

    9694

    浏览量

    157517
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    进迭时空参与我国首款自研 RISC-V 全栈测评工具发布

    。进迭时空参与技术分享、标准讨论等多项活动。深度参与我国首款自研RISC-V全栈测评工具发布全体委员会议上,我国首款自研RISC-V全栈测评工具(RISC-VFST
    的头像 发表于 04-13 09:33 309次阅读
    进迭时空参与我国首款自研 RISC-V 全栈<b class='flag-5'>测评工具</b>发布

    中航光电推出可插拔式GPU液冷组件

    随着AI芯片功耗持续攀升、单机算力密度不断突破上限,与之配套的液冷散热组件也正朝着更高散热性能、更小结构尺寸、更优集成封装的方向快速迭代升级。针对高功率PCIe式GPU的散热需求,中航光电推出
    的头像 发表于 04-08 16:04 310次阅读
    中航光电<b class='flag-5'>推出</b>可插拔式<b class='flag-5'>GPU</b>液冷组件

    京微齐力推出全新高性能AI视觉处理FPGA芯片产品

    2026 年 3 月 30 日,中国·北京,国内自主研发高端通用 FPGA 芯片及新一代异构可编程计算芯片的供应商京微齐力宣布,正式推出其飞马 P 系列全新高性能 AI 视觉处理 FP
    的头像 发表于 03-31 15:39 194次阅读

    PowerVR:推动开源 Zink 与 OpenGL ES 支持的发展路径

    我很高兴能和大家分享本周实现的一项重要成就:PowerVR开源Vulkan驱动(自Mesa26.1起)现已支持Zink。借助这一能力,该驱动可以支持更为庞大的应用程序库。Zink:https
    的头像 发表于 03-18 10:05 572次阅读
    <b class='flag-5'>PowerVR</b>:推动开源 Zink 与 OpenGL ES <b class='flag-5'>支持</b>的发展路径

    Visionfive 2 缺少文件img-gpu-powervr-bin-1.17.6210866.tar.gz怎么解决?

    您好,我开始按照 SDK 快速入门指南构建镜像。 我失败了 WGEThttp://sources.buildroot.net/img-gpu-powervr
    发表于 03-11 07:08

    沐曦股份正式推出曦索X系列全新GPU品牌与产品线

    1月27日,沐曦股份(股票代码:688802.SH)正式推出曦索X系列全新GPU品牌与产品线。该系列产品是面向科学智能场景深度优化的高性能
    的头像 发表于 01-28 17:14 841次阅读

    【作品合集】米尔RK3576开发板测评

    米尔RK3576开发板测评作品合集 产品介绍: RK3576 是瑞芯微一款面向AI市场推出的高性能处理器,它配备了四核Cortex-A72和四 核Cortex-A53 的 CPU,集成了6TOPS
    发表于 09-11 10:19

    如何在Ray分布式计算框架下集成NVIDIA Nsight Systems进行GPU性能分析

    在大语言模型的强化学习训练过程中,GPU 性能优化至关重要。随着模型规模不断扩大,如何高效地分析和优化 GPU
    的头像 发表于 07-23 10:34 2558次阅读
    如何在Ray分布式计算框架下集成NVIDIA Nsight Systems进行<b class='flag-5'>GPU</b><b class='flag-5'>性能</b>分析

    GUI Guider全新优化方案GUI xTurbo-VeloRender初体验:基于i.MX RT平台的LVGL渲染能力突破

    引言 在嵌入式GUI开发领域,图形界面的渲染性能直接决定了用户体验的流畅度与产品竞争力。针对i.MX RT系列的开发需求,恩智浦在2025年隆重推出全新性能
    的头像 发表于 07-10 09:21 3998次阅读
    GUI Guider<b class='flag-5'>全新</b><b class='flag-5'>优化</b>方案GUI xTurbo-VeloRender初体验:基于i.MX RT平台的LVGL渲染能力突破

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架构分析」阅读体验】+NVlink技术从应用到原理

    前言 【「算力芯片 | 高性能 CPU/GPU/NPU 微架构分析」书中的芯片知识是比较接近当前的顶尖芯片水平的,同时包含了
    发表于 06-18 19:31

    鸿蒙5开发宝藏案例分享---性能优化案例解析

    鸿蒙性能优化宝藏指南:实战工具与代码案例解析 大家好呀!今天在翻鸿蒙开发者文档时,意外挖到一个 性能优化宝藏库 ——原来官方早就提供了超多实
    发表于 06-12 16:36

    各大厂商与新兴企业推出的 EDA Copilot 工具

    当前EDA(电子设计自动化)领域正经历AI驱动的智能化转型,各大厂商与新兴企业推出的EDA Copilot工具通过自然语言交互、自动化设计优化等技术,显著提升芯片设计效率。以下是基于最
    的头像 发表于 06-06 09:34 3251次阅读

    iTOP-3588S开发板四核心架构GPU内置GPU可以完全兼容0penGLES1.1、2.0和3.2。

    性能强 iTOP-3588S开发板采用瑞芯微RK3588S处理器,是全新一代AloT高端应用芯片,搭载八核64位CPU,四核Cortex-A76和四核Cortex-A55架构主频高达2.4GHZ
    发表于 05-15 10:36

    提升AI训练性能GPU资源优化的12个实战技巧

    在人工智能与机器学习技术迅速发展的背景下,GPU计算资源的高效利用已成为关键技术指标。优化GPU资源分配不仅能显著提升模型训练速度,还能实现计算成本的有效控制。根据AI基础设施联盟2024年发布
    的头像 发表于 05-06 11:17 1676次阅读
    提升AI训练<b class='flag-5'>性能</b>:<b class='flag-5'>GPU</b>资源<b class='flag-5'>优化</b>的12个实战技巧

    开售RK3576 高性能人工智能主板

    AI 神经网络处理器 NPU,运算性能高达 6.0TOPS,支持多种 AI 开发工具和接口。支持 双屏异显功能,支持 LVDS 接口 10
    发表于 04-23 10:55