平衡PowerVR硬件平台的GPU负载

作者:Tom Lewis

如果你从一开始就在看这个系列博客,那么你可能已经知道其中的原理了,我们推出了全新的文档网站,它为不同水平的开发人员提供了很多有用的建议和技巧。无论是对于新手还是有经验的开发人员,我们提供的最有用的文档之一就是”PowerVR性能建议”。这个文档为大家提供了在PowerVR硬件平台上运行应用程序时如何取得最优性能的所有信息。本篇文章就是基于这些建议的,主要关注通过平衡不同的GPU工作负载来消除性能瓶颈。

消除性能瓶颈

性能瓶颈是很多开发人员都会遇到的问题,有时需要你必须在性能和视觉效果之间作出选择,这是非常令人苦恼的一件事情。但是需要注意的是,当你要做一些特别大的改动时,还要考虑到性能瓶颈可能是由GPU某个处理单元上特别繁重的工作负载造成的,通过将工作负载分散给不同的处理单元可以帮助消除性能瓶颈。

然而在你能够找出如何平衡GPU工作负载之前,你首先必须要知道工作负载是怎样分布的,这时就需要借助PowerVR强大的硬件分析工具。

PVRTune工具会收集关于应用程序的各种计数器(性能指标)来度量GPU资源的使用情况,这些计数器可以在应用程序运行时实时测量,也可以保存到配置文件中以便后续进行分析。显示窗口设计可以非常容易的理解可视化的计数器数据,清楚地确定工作负载在GPU中的状况以及发现未充分利用的资源。


PVRTune工具的监视窗口提供了关于GPU工作负载的所有相关信息概览,并且能够显示工作负载是如何实时变化的。

PVRTune工具中监测的几个关键的计数器:

活跃的渲染器
这表示的是处理和着色像素所花费的时间,这包括ISP(见下文)/纹理和着色器处理单元。显示的数值较高时通常意味着着色器处理或纹理处理存在瓶颈,这主要是由于纹理资源获取或内存延迟造成的,而ISP很少会引起性能瓶颈。

活跃分片器
它测量的是顶点处理、映射执行、剔除和平铺操作所花费的时间,如果这个数值很高则意味着这些复杂的任务要花费很长的时间,这可能是因为有大量的多边形需要处理,但是一般来说在极端情况之外分片器的操作不会导致性能瓶颈,如果这个计数器数值非常高(>80%),那么减少提交给GPU的多边形会起到一定的缓解作用。

着色器处理负载(ALU,算术逻辑单元)
这个计数器显示的是着色器处理器在处理顶点、片段和计算机内核时的平均工作负载。想要了解更多信息你可以查看这三种特定负载的计数器:顶点、像素和计算负载,这些可以帮助你找出哪个着色器阶段导致了性能瓶颈。

纹理负载
纹理负载计数器测量的是纹理单元的平均工作负载,大于50%意味着要花费大量的时间从系统内存中获取纹理数据或执行线性差值滤波操作。

要确定这个性能瓶颈的确切性质,请查看这个计数器:
● 纹理过载计数器——如果数值很高可能意味着着色器处理单元的请求速度比纹理单元处理的要快。

SP(图像合成处理器)像素负载

这个计数器表示ISP像素处理单元繁忙的时间量,图像合成处理器(ISP)获取原始数据并执行隐藏表面剔除(HSR)操作,以及深度和模板测试。如果这个计数器的值看起来很高,可能意味着正在处理大量不可见的像素资源,这可能是因为有很多像素隐藏在不透明的对象后面,或者某个进程可能只更新深度或模板缓冲区,而不是颜色缓冲区。

更多关于PVRTune计数器和PowerVR架构的详细信息可以在我们的网站上找到。

分散负载
一旦你确定了哪些因素导致了性能瓶颈,就只需要选择最佳的优化策略来分散工作负载。

以下是解决常见性能瓶颈的一些建议:

● ALU利用率可以转换为纹理负载,如果一些公式是提前计算过的那么计算结果可以存储在查找表(LUT)中,这种方式的一个例子是基于物理的渲染Demo:ImageBasedLighting,其会在纹理查找表中存储复杂的双向反射分布(BRDF)的一些数据。
● Alpha测试和噪声功能通常用于合成来实现一定的过渡效果,这个操作会占用大量ALU处理资源,但是通过运行模板预处理传递功能可以将一定的负载转移给ISP处理单元。
● 在一些非常罕见的场景需要的纹理可能相当的简单,纹理负载分散给ALU利用率,主要是改变纹理资源的获取操作。

你可以在我们的网站上看到更多关于PVRTune工具的特性和更强大的PVRTune Complete工具(仅限NDA授权)或者下载下来尝试试用。

最后…..

更多关于PowerVR的建议和其他性能建议,大家可以访问我们全新推出的文档网站,网站会定期更新新的文档和功能,包括Vulkan和OpenGL ES图形库的入门教程、PowerVR硬件的优化和建议以及新的图形技术指南。

大家可以在我们的论坛或网站上留下建议,还可在推特上关注@rajonesdevtech获取开发者技术相信新闻,或关注@powervrinsider获取关于PowerVR的最新信息。

原文链接:https://www.imgtec.com/blog/balancing-gpu-workloads-on-powervr-hardware/

声明:本文为原创文章,转载需注明作者、出处及原文链接,否则,本网站将保留追究其法律责任的权利。

最新文章