为什么会有TBDR?TBDR有何特别之处

早年间有这样一个说法:

PowerVR的GPU是TBDR架构,别的移动GPU是TBR架构。

这个说法是对的。从官方的表述上来看,只有PowerVR称自己的GPU架构是TBDR,而Adreno和Mali称自己的GPU架构是TBR。这是没有任何的疑问与含糊的地方的。

但是也还有很多技术文章通常会将移动GPU渲染架构都统称为TBDR。这种说法从某种程度上来说也没有错。因为无论是PowerVR的GPU还是Adreno或者Mali的GPU,无论是所谓的TBR还是TBDR,相比于IMR来说都是延迟渲染架构。都是将Rasterize/PS的处理延后到了处理完所有VS之后,而不是像IMR一样VS后马上Rasterize/PS(还有一些中间步骤就省略了,不要缸)。所以说TBR架构也是个延迟渲染架构。

那么为什么只有PowerVR的GPU称其渲染架构为TBDR呢?其他的移动GPU也是Tile-Based也有Defer,怎么就只能叫做TBR呢?原因在于PowerVR的渲染架构中还多了一步Rasterize到PS的延迟,PowerVR为处理这一步延迟的组件起名叫HSR(Hidden Surface Removal)并申请了专利。

PowerVR的TBDR架构与其他移动GPU的TBR架构的区别:

TBR:VS - Defer - RS - PS

TBDR:VS - Defer - RS - Defer - PS

第一个Defer大家都有,而且通过第一篇链接的文章我们可以明白,第一个Defer是Tile-Based渲染架构所必须的,没有这个Defer,Tile-Based优势就无从发挥。而第二个Defer则是Power VR的TBDR架构所特有。通过这第二个Defer,PowerVR的渲染架构真正最大程度上实现了“延后(Defer)PS的执行”,以避免执行不必要的PS计算与相关资源调用的带宽开销,以达到最少的性能消耗和最高的渲染效率。

TBDR是由PowerVR所提出的说法,意在于表示自己的架构是基于TBR架构的改进,并实现了最大程度的DR。因此要严格论起来,其他移动GPU是没有资格称其架构为TBDR的,他们只是TBR。

分享一个文章链接,其中PowerVR控诉其他芯片厂商偷换TBDR的定义以混淆这二者,以此掩盖TBR与TBDR仅从设计上就产生的巨大性能差异。

https://www.imgtec.com/blog/understanding-powervr-series5xt-powervr-tbdr-and-architecture-efficiency-part-4/

总结一下,当你在各种技术文章中看到TBDR的表述时,一定要弄清楚这其中的D代表什么意思。如果文章是在讨论任意一种移动GPU与PC GPU的对比,那么这时候的D所强调的是VS与RS之间的延迟,不太严谨的话是可以代表所有的移动GPU框架。而如果文章是在对比PowerVR的GPU与其他移动GPU的渲染架构的话,此时的D所强调的是RS与PS步骤间的延迟,此时TBDR只代表PowerVR GPU的渲染架构。

附:TBDR和TBR的对比图

TBDR
TBR

本文摘自:知乎 - Sparrowfc
原文链接:https://zhuanlan.zhihu.com/p/112120206
转载此文目的在于传递更多信息,版权归原作者所有。

最新文章