Imagination Rogue GPU技术优势分析

2013年全球微处理器销售额将以史上最快的增长速度突破610亿美元,这主要归功于连接到互联网的手机和平板电脑的强劲需求。据调研机构Gartner的预测,2015年全球200~300美元中价位智能移动设备(智能手机/平板电脑)出货量将达5.8亿台,并且用户主要使用的功能是影音编辑和分享。

得益于浮点运算优势,GPU可以有效地接替来自CPU在图形渲染过程中产生的几乎所有计算负荷,并且速度十分惊人。因此,当系统检测需要更复杂的计算时,运算会从CPU切换到GPU工作模式,在一些测试环境下,渲染性能可以轻易地从十几帧每秒加速到上百帧每秒。在GPU技术的支持下,芯片供应商和设备制造商可提供诸如3D UI、实时视频图像处理、具有逼真图像体验的游戏应用和增强实境等丰富的应用模式。

所以,今后整个行业对GPU的重视会大大超过CPU本身,因为今后主流消费者使用移动设备主要的用处是多媒体娱乐,视频和游戏的处理都更加依赖GPU的计算能力。GPU在移动处理器中的重要程度已经日益凸显,高通移动处理器的一大卖点就是自己的Adreno GPU。

当然在移动GPU市场的老大是Imagination,根据市场研究公司Jon Peddie Research的报告,Imagination以37.6%的市场份额,依然稳坐2013年移动GPU领先供应商头把交椅。但它的最大竞争对手ARM在GPU的市场份额也达到了18.4%,由于Adreno GPU的市场份额全部来自自家的处理器,不会对外授权,所以今后的GPU市场竞争主要是Imagination和ARM之间的战争。这两家IP巨头除了在CPU领域展开竞争以外,在GPU领域的战火也烧到了下一代GPU内核。

PowerVR 6系列GPU与竞争对手Mali-T600系列GPU的规格对比

PowerVR 6系列Rogue GPU 公布于2011 年第三季度。CES 2012 上,PowerVR Rogue GPU 首批两款产品,PowerVR G6200 和 PowerVR G6400 亮相。2013 年 Imagination 又公布了 PowerVR Series 6XE 和 PowerVR Series 6XT 两个子系列产品。6系列GPU都支持DirectX 10,部分型号可支持最新的DirectX 11.1,还支持OpenGL 3.x/4.x、OpenGL ES 3.0,以及通用计算领域的OpenCL 1.x、Renderscript Compute。根据配置的不同,PowerVR 6系列GPU的浮点性能在100Gflops到最高1Tflops之间,可带来最多60倍于5系列的图形和计算性能提升。

Intel Atom 处理器 Z3480、苹果 iPhone 5S 的A7处理器乃至联发科MT8135等都集成了Imagination 最新一代的PowerVR Rogue GPU。

Mali-T600 系列于2012 年露面,开发代号Midgard,是 ARM 的首个统一渲染架构。Mali-T600全系列支持OpenGL ES 2.0/1.1,OpenCL 1.1,DirectX 11,其中Mali-T622、Mali-T624、Mali-T628、Mali-T678还能够支持OpenGL ES3.0。露面最早的Mali-T604 是第一代,Mali-T624 / 628 / 678 等后续产品则是第二代。Mali-T624的规格参数基本与T604一致,不过核心升级到了第二代Midgard,T628最多能支持8核配置。昙花一现的Mali-658还是第一代Midgard架构,现在已经被二代Midgard架构的T678取代,之前的资料显示T658的性能是Mali-400 MP的10倍,计算性能是后者的4倍,Mali-678只会比这个指标更强。

以上的对比可以看出,PowerVR 6系列支持的API更加全面,多了OpenGL的支持,虽然在移动消费端用处还不大,但在工业级应用还是有很大优势的。

PowerVR的看家本领——TBDR渲染技术

首先说说Imagination最具优势的移动渲染技术TBDR。由于功耗和内存带宽的限制,移动平台的GPU相对于桌面平台,会有一些不同。目前几乎所有的桌面GPU(nVIDIA,AMD)都是IMR(Immediate Mode Rendering,直接模式渲染)架构,在移动领域,nVIDIA的GeForce ULP和Vivante的GC系列GPU都是属于IMR架构。IMR架构的GPU渲染完物体后,都会把结果写到系统内存中的帧缓存里,因此就可能出现GPU花了大量的时间渲染了一个被遮挡的看不见的物体,而最后这些结果在渲染完遮挡物后被覆盖,做了无用功。这个问题称之为Overdraw。另外,由于IMR架构的GPU频繁的读写和修改帧缓存,因此对带宽的要求比较高,同时也增加了电力的消耗。所以,大部分的移动GPU都采用TBR(Tile Based Rendering,分块渲染)的架构。

ARM的Mali GPU和高通的Adreno GPU采用TBR架构,实际上Imagination的PowerVR也是分块渲染的。TBR架构在把三角形场景变成像素图前,先把整个画面分成小块,这些小块的渲染在GPU上的高速缓存里进行,这样就可以避免对帧缓存(位于系统内存里)的频繁读写和修改。但是,除去PowerVR外的TBR GPU同IMR一样,还是不能避免Overdraw的问题。而PowerVR的不同之处在于,它采用的TBDR(Tile Based Deferred Rendering,分块延时渲染)架构,可以彻底避免Overdraw的问题。相比TBR更进一步的是,TBDR在光栅化之后,有一个HSR(Hidden Surface Removal,隐藏曲面消除)硬件单元,通过对一个块内的三角形进行测试,剔除掉被遮挡的三角形,合成一幅由所有可见部分组成的画面,交给后续的流水线去渲染。这样不可见部分就不需要着色器去做相应的计算,也不需要去拾取相应的纹理,节省了计算量的同时也节省了带宽,对移动设备来说有很大的帮助。

GPU的竞争也是软件生态系统的竞争

移动GPU的硬件架构是影响游戏流畅度以及省电的重要因素,但在软件支持方面,纹理压缩格式也是影响游戏支持度高低的重要因素,由于移动GPU并不像桌面GPU以及游戏都有统一的DirectX标准,造成不同移动GPU所支持的纹理压缩格式技术互不兼容,也造就了移动GPU 多强鼎立的局面。

移动GPU主流的纹理压缩格式分别为ETC、PVRTC、S3TC、ATITC,在3D游戏中丰富的纹理和细节对游戏的质量可说是相当重要。不过,由于显示内存和带宽受限的缘故,所有纹理都必须经过压缩,否则会带给显示内存和带宽极大的压力,而纹理压缩格式便是用来解决这项问题。在OpenGL ES 2.0版本规范里,将ETC(Ericsson Texture Compression)列为移动GPU纹理压缩格式的固定班底,并且要求各个移动GPU都必须支持此种纹理压缩格式技术。

Imagination 的PowerVR Rogue GPU 系列支持的是 PVRTC (PowerVR Texture Compression) 和 ETC,ARM的Mali-T600 系列支持的是ETC 和ASTC。ASTC由ARM 提出,2012 年被 Khronos 组织认可,纳入到OpenGL ES 3.0 标准中。不过 ASTC 并非强制性的标准,目前也只有 Mali-T600 系列支持。PowerVR 可以做到将纹理压缩至最小体积(原图十分之一不到)但仍保持清晰,比OpenGL ES 官方标准的S3TC 和ETC 要小了一半体积,这也算是PowerVR的技术优势。

ETC 是最通用的纹理压缩格式,几乎所有的安卓设备都可以支持 ETC 压缩的文件。不过ETC 并不招厂商待见,因为 ETC 纹理压缩不支持 Alpha 通道,只能用于压缩不透明的材质,且只能将单一纹理拆解成2个间接执行。S3TC是桌面显卡通用的压缩格式,看起来是最完美的选择,可惜 S3TC 还是一种私有的标准,有专利上的麻烦。

尽管PVRTC 是PowerVR 专有的格式,但PowerVR 已占据最大的移动GPU市场份额,开发者做纹理时势必会考虑到这一标准。加之本身这一标准具有高压缩率的优势,更能推动3D游戏技术的进步。ASTC 则太新鲜,现在还鲜有开发者支持这个标准,市场上Mali GPU的占有率也还不足以帮助这一标准推广。

总结

ARM的Mali GPU给人的感觉更像是PC中的公版显卡一样,积极支持各种最新标准,注重性能功耗比。但是Mali GPU的问题在于目前授权使用的大部分还是Mali-450 MP以下的,Mali-T604除了在三星的Exynos 5250中有过应用,发布过一年多以来未见其他处理器集成。即便是三星这个老朋友,新一代的Exynos 5 Octa也改用PowerVR的GPU核心了,感觉业界的接受度还是不够高。

PowerVR Rogue GPU 延续了 Imagination 一贯的技术优势:TBDR渲染技术独步天下,且对各类 API 的支持领先于业界。这一代显卡的性能甚至超越了部分桌面 GPU,能耗却比桌面 GPU 更低,适合多种嵌入式移动设备。相比另一主要竞争者ARM Mali-T600系列,PowerVR Rogue GPU 优势在于纹理压缩标准已有健壮的生态系统支持,而Mali 的标准目前还没能赢得开发者首肯,纸面的技术优势无法体现出来。GPU的性能和软件的优化有极大关系,这是现在PowerVR系列GPU能够领先市场的最大优势。

Imagination能成为移动GPU的老大显然会有很多独特优势和技术。它的GPU不是理论性能最强的,不过单位功耗性能、单位面积性能表现都很强,多核集成、配套的开发工具、PVRTC纹理压缩格式、TBDR渲染技术都是它冲锋陷阵的利器,综合起来PowerVR还是表现最优秀的移动GPU。