泡泡网显卡频道 PCPOP首页      /      显卡     /      新闻    /    正文

五大移动GPU厂商与他们那些镇山之宝


 
  在水果与机器人的战争中,iOS阵营的应用软件及游戏表现的很统一,特别是在游戏方面,iPad mini这样的规格精简版表现普遍都会好于Android版,Android阵营中高帅富机型与DS机型齐飞,同一个游戏在不同机型上的表现环肥燕瘦,各不相同。

《史诗城堡》benchmark中不同机型画质不一

  以之前测过的一款名为《史诗城堡》的benchmark为例,它在高通、NVIDIA、PowerVR、Mali等GPU上的画质表现差异很大,有的地面纹理很清晰,有的就直接很模糊,锯齿严重。

    这个问题既不是第一次被发现,也不是第一次有解释,很多玩家都已经知道了造成这种画质差别的主要原因是游戏的纹理数据不一样,再深入一点就是游戏开发商针对每个处理器平台的特点使用了不一样的纹理压缩格式,那些重点照顾的GPU的游戏画面会很漂亮,之外的GPU有可能会存在各种问题。

    由于移动GPU的性能弱、带宽低(下文还有解释),游戏模型的纹理不可能很精细,至少不能跟桌面GPU相比(手机的小屏幕、高PPI已经帮着遮羞不少了),在带宽有限的情况下哪种纹理压缩格式压缩比更高、画质损失最小就成了关键,游戏开发商选择支持哪种纹理压缩格式就带来了画质上的不同。

    目前五大GPU厂商中每家的移动GPU产品至少都会支持一种通用的纹理压缩格式,有的还支持自己的独家纹理压缩技术,简单来看一下。
 
主流纹理压缩标准:ETC、PVRTC、S3TC简介
 
    首先说OpenGL ES标准中的,2.0版规范中将ETC(Ericsson Texture Compression)作为基本的纹理压缩标准,这是大部分移动GPU都会支持的纹理标准。OpenGL ES 3.0中还引入了ETC2、EAC纹理压缩格式,二者基本一致,只不过EAC主要用于1-2通道数据的情况,目前ECT2还在改进中,除了高通的Adreno 320之外还没有移动GPU支持,Tgera 4也不行。

    此外,OpenGL ES 3.0中还有一种可选纹理压缩格式——ASTC(Adaptive Scalable Texture Compression,自适应扩展纹理压缩),这是ARM提出的,去年被Khronos组织认可,纳入到标准中来,不过并不是强制性的,目前也只有Mali-T600系列支持。

    Imagination旗下的PowerVR GPU支持的是PVRTC(PowerVR texture compression)和ETC,高通的Adreno 2xx系列支持ETC之外还有3Dc和ATITC,后两者都是原来的ATI开发的,Adreno 320除了前面三种标准之外还支持ETC2纹理压缩。

    ARM的Mali-300/400系列支持ETC,Mali-T600还多了ASTC纹理支持。

    NVIDIA的Tegra系列更有趣,之前的说法称Tegra支持自己的纹理格式,实际上除了通过的ETC之外,Tegra支持的纹理叫做S3TC(S3 Texture Compression),也被称为DXTn或者DXTC,S3TC是S3公司在1999年引入的,后来被DX 6.0和OpenGL 1.3吸收为官方标准,DXTC相当于Windows版的名字,S3TC是OpenGL中的名字。

    说到S3TC,之前苹果和HTC大打专利战的时候就涉及到了这个标准,S3已经归为VIA威盛旗下,HTC和威盛又有同一个老板——王雪红。为了支援HTC打专利战,威盛去年就把S3部门出售给了HTC,算是左手倒右手吧。

    S3TC是DX显卡都支持的标准,NVIDIA也在Tegra中支持了这个标准,S3TC根据不同算法又分为DXT1-DXT5这五个级别,Terga支持的实际上是DXT1、DXT3和DXT5。

    Vivante的GC系列也支持ETC和S3TC,跟NVIDIA的Tegra路线相同,以前都说Vivante支持的是NVIDIA Tegra的纹理数据,实际上二者是选择了共同的路线而已,DXT也不是NVIDIA的专利。

    目前来说我们能常用到的纹理压缩主要是ETC、PVRTC、S3TC、ATITC这四种种。
 
主流紋理压缩格式优缺点

常见的TC格式压缩比

    先来看压缩比,如果无失真的PNG压缩容量是5.4MB,那么S3TC和ETC都能压缩到1.1MB,PVRTC压缩最高,可压缩到528KB,不过PVRTC的问题在于它只支持PowerVR系列GPU,有排他性,高通的Adreno支持的ATITC同样有排他性,其他厂商并不支持。

  ETC是最通用的纹理压缩格式,不过ETC并不招厂商待见,因为ETC纹理压缩不支持alpha通道,所以只能用于压缩不透明的材质,不过ETC也有自己的优点,几乎所有的安卓设备都可以支持ETC压缩的GPU加速

    S3TC无论压缩速度还是压缩比都不错,也支持GPU加速,而且是桌面显卡通用的压缩格式,看起来是最完美的选择,可惜的是移动市场跟PC不一样,大家各自为王,NVIDIA现在还没强大到让其他GPU厂商低头采用S3TC标准的程度,因为S3TC说到底还是一种私有的标准,有专利上的麻烦。

    ETC2压缩标准补全了ETC1不支持alpha通道的缺陷,支持更高质量的RGBA(RGB+Alpha)压缩,而ARM提出的ASTC标准在压缩速度和质量上比S3TC要好,但是这两种压缩格式都是新出的,支持的厂商实在太少了。

2人已赞

关注我们

泡泡网

手机扫码关注