当前位置:首页 > 智能手机 > Android手机 > 评测
那些让手游火起来的“芯”
  • 2013-7-1 14:31:44
  • 类型:原创
  • 来源:电脑报
  • 报纸编辑:薛昱
  • 作者:
【电脑报在线】从苹果发布iPhone的那一刻开始,我们的工作、沟通和娱乐发生了戏剧性的改变。而一向在嵌入式系统默默无闻的ARM也因此一夜成名。同时,手游作为移动互联时代掌中娱乐的重心,对硬件性能的要求也越来越高。

内存带宽,GPU的“芯”结

  当然,相对于桌面GPU,移动GPU的级别只能算个小孩子。虽然小孩子在某些场合也能比成人更有优势(比如功耗小),但在力量上还是有先天的差别,主要表现在理论性能和带宽上。与桌面GPU动辄256bit甚至384bit的位宽、1.2-1.5GHz的高频显存相比,手持设备通常搭配的RAM是低功耗、窄带宽的 LPDDR、LPDDR2 等特殊内存——普遍使用的是双32bit位宽、LPDDR2-800或1066的内存系统,总带宽普遍在10GB/s以内,而Tegra 3为了降耗使用的还是单通道内存模式,要和CPU共享仅6.4GB/s的内存带宽。

    没有高带宽就没有大容量纹理数据,也就不会有高画质。在内存带宽有限的限制下,移动GPU厂商关心的头等大事就是如何在尽可能小的带宽需求下提升GPU性能及画质,其中常采用的一个方法就是纹理压缩技术。但与桌面级平台图形接口早已经标准化了不同,整个ARM平台没有如同X86平台的DirectX这种统一的标准,各个GPU厂商的纹理压缩标准格式不一样。如PowerVR SGX系列的专用纹理压缩格式是PVRTC,而高通Adreno系列专用的是ATITC,NVIDIA专用的为DXTC(S3TC),Mali 400则支持ETC 1格式,各自的压缩比例与算法各有不同,所以难以跨平台使用。对于经常在手机上玩大型3D游戏的朋友来说,下载对应自己手机的数据包可以说是一件很让人抓狂的事了,而且各种兼容问题还得用第三方“3D神器”APP来解决,这也是手机GPU大混战的结果,各家支持的材质标准不一样,游戏制作者也很头痛。

    另外,虽然目前ARM移动图形处理器都支持OpenGL ES图形标准,但是与DirectX不同的是,openGL是个开源性标准,尽管有自带的ETC 1纹理压缩格式,但是它并没有像DirectX那样对纹理压缩有着明确的限制,也允许其它纹理压缩格式的出现。OpenGL ES 2.0下 的 ETC1 纹理压缩仅支持 4bit 格式,虽然可以将场景有效率的进行压缩,但由于压缩比过大,被压缩的纹理材质不免影响画面质量,这时候手游开发者通常会在部分需要高画质的地方,把材质改回不压缩状态,但这就只好牺牲带宽。由于内存带宽有限,且带宽使用越凶也越耗电,故开发者只有在画面质量与耗电间取舍,找到一个平衡点。

    还好OpenGL ES 3.0 开始支持ASTC 纹理压缩格式,可最佳调适压缩比,单一像素可以压缩至小于 1bit 到 8bit 。例如,看不出画质影响的部份用1bit到4bit来压,需要高画质的区块则用8bit,除了能减少纹理材质的传输大小外,也能让游戏开发人员开发起来更容易,一个ASTC压缩格式用到底,用不着在某些地方为了画质就得改为不压缩,这也让手持设备的高质量游戏得以全面减少纹理材质上的带宽耗损,维持游戏的画面质量又可减少带宽。

     除了采用纹理压缩技术外,移动GPU解决内存带宽不足的还有一种方法,那就是使用不同的渲染方式,主要有IMR、TBR及TBDR等。

    IMR(Immediate Mode Rendering)就如字面意思一样——提交的每个渲染要求都会立即开始,这是一种简单而又粗暴的思路,优点缺点都非常明显,如果不用为性能担忧,这种方式会很省事,但是IMR的渲染实行的是无差别对待,那些遮蔽处理的部分依然会被渲染处理器,这也导致无意义的读写操作更多,浪费了大量性能和带宽。

    IMR傻大粗的做法不可取,那就来一个聪明点的方式——TBR(Tile Based Rendering,贴图渲染),它将需要渲染的画面分成一个个的区块(tile),每个区块的坐标通过中间缓冲器以列表形式保存在系统内存中。这种渲染方式的好处就是相对IMR减少了不必要的渲染任务,缺点就是遮蔽碎片依然会少量存在,而且需要中间缓冲器。

  TBR虽然比IMR聪明多了,不过还是存在不少缺陷,因此TBDR(Tile Based Deferred Rendering,贴图延迟渲染)闪亮登场,它跟TBR原理相似,但是使用的是延迟渲染(Deferred Rendering),合并了完美像素,通过HSR(Hidden Surface Removal,隐藏面消除)等进一步减少了不需要渲染的过程,降低了带宽需求。实际上这些改变和PC上的渲染有些相似。其他几家厂商用的都是TBR技术,TBDR主要是Imagination在使用,这也是他们最大的筹码之一。在微软的DX11.1升级中也有提到支持TBDR,因为Windows 8系统还专门为平板和触控优化,对TBDR这种移动平台常用的技术加以优化也是必然的。

    通过这些渲染技术,手持设备的GPU在一定程度上缓解了内存带宽不足对手游性能的影响,在游戏画面与运行效率之间寻得了一个平衡点。


GPU发展到最后必将走进云端

    就在ARM处理器核战告一个段落时,ARM平台GPU之战的高潮才刚刚到来。但手机GPU还会拼多久?可能未来规格越来越高,性能越来越强,结果会是什么样?最后既便是8核、16核GPU也HOLD不住飙升的功耗与发热,除非电池技术有了革命性的进步,才会让这样的硬件大战继续延长。

    毫无疑问,对于手游来说,已经到了需要作出改变的时刻。云游戏的出现,恰恰代表新的变革思路。云游戏,就是将游戏过程中涉及的绝大部分计算任务,包括AI、物理效果、图像和声音等,都交由服务器端运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户。在客户端,用户的游戏设备不需要任何高端处理器和显卡,只需要基本的视频解压能及网络通讯质量能够满足数据传输需求即可就可以了,这无疑会将手机、平板等智能终端从目前GPU核战中解脱出来!到最后GPU不再是手游用户最关注的点——在未来,用户可能会关心某款手机是否有虚拟现实显示功能,但他们不会去在意它是用什么GPU来实现的!

本文出自2013-07-01出版的《电脑报》2013年第25期 D.智能手机
(网站编辑:pcw2013)


我来说两句(0人参与讨论)
发表给力评论!看新闻,说两句。
匿名 ctrl+enter快捷提交