Adreno平台程序优化(1)

一、简介
Adreno GPU还支持某些硬件功能,在深入了解优化准则之前,需要了解这些功能。 以下是其中一些硬件功能。

二、Adreno平台程序优化
Adreno GPU支持统一着色器模型,该模型允许在所有着色器类型(顶点和片段着色器)中使用一致的指令集。 用硬件术语来说,Adreno GPU具有计算单元,即算术逻辑单元或ALU,支持片段着色器和顶点着色器。 在移动GPU行业中常见的另一种着色器体系结构使用专用的顶点和片段计算单元。 统一的着色器体系结构允许更灵活地使用ALU。
Adreno GPU使用共享资源架构,该架构允许顶点着色器,像素或片段着色器和通用处理共享相同的ALU和获取资源。 着色器处理是在统一的着色器体系结构中完成的:
在这里插入图片描述
在统一的着色器体系结构中,没有用于顶点和片段的单独硬件着色器。 这允许更大的像素/顶点加载灵活性天平:
在这里插入图片描述
在这里插入图片描述
Adreno着色器体系结构也是多线程的。 例如,如果片段着色器的执行由于纹理获取而停止,则将执行交给另一个着色器。只要硬件中有空间,就会累积多个着色器。
除了性能优势之外,统一着色器的一个与性能无关的优点是,着色器可以访问所有着色器资源,尤其是顶点纹理访问,这将在接下来进行探讨。无需采取特殊步骤即可利用统一着色器体系结构。 Adreno GPU可根据场景组成智能地最有效地利用着色器资源。
Adreno GPU中重要的硬件功能之一,早期Z拒绝提供了一种快速遮挡方法,并且可以拒绝从视图位置不可见(隐藏)的对象的不需要的渲染通道。 下图将红色圆圈显示为隐藏在绿色对象后面的对象,在此由绿色块表示。 使用早期的Z拒绝功能可以避免从相机的角度看不到该隐藏对象的渲染过程。
在这里插入图片描述
下图中的示例,该示例显示了一个以网格表示的颜色缓冲区,每个块都以一个像素表示。 此网格上的渲染像素区域为黑色。 这些渲染的黑色像素的Z缓冲区值为1。如果尝试将新图元渲染到Z缓冲区值为2的现有颜色缓冲区的相同像素上(如第二个网格中的绿色块所示) ),此新原语中的冲突像素将被拒绝,如代表最终颜色缓冲区的第三格所示。 Adreno GPU最多可以以绘制像素填充率的四倍拒绝被遮挡的像素。
在这里插入图片描述
为了从此功能中获得最大收益,我们建议使用从前到后排序的图元绘制场景。 即,近至远。 这样可以确保远原语的Z排斥率更高,这对于深度复杂度较高的应用程序非常有用。

三、总结
本篇文章我们简单介绍了 Adreno平台程序优化的部分内容,接下来我们将继续对其进行深入的探讨。

发布了146 篇原创文章 · 获赞 28 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_38498942/article/details/103988787
今日推荐