拒绝忽悠 移动GPU全解读.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
拒绝忽悠 移动GPU全解读

拒绝忽悠 移动GPU全解读 本文将从移动GPU的结构、参数、兼容性、跑分几方面让读者全方位对移动GPU有一定的概念。 前言 现在移动设备的“核战”越来越激烈,已经从CPU引发到了GPU上,于是“16核”、“8管线”、“MP4”、“三角形生成率”和“填充率”等各种 吸引眼球的宣传铺天盖地而来。一直很希望能有些文章来介绍科普下,但或许是专业人士都觉得这些太基础,最后忍不住,只能由我这个半桶水的非专业人士来写点 啥了。本文参考和引用了网上的一些资料,篇幅有限恕不一一列举。内容尽可能的科普浅显,但限于个人的知识层次、理解能力和表达能力,如果有不确切或者错误 的地方,还请多多指正。 基本的3D流水线 首先我们来简单的介绍下3D的画面是如何生成的,一个基本的3D流水线如下图所示: 首先,运行在CPU上游戏引擎根据游戏中的一些参数,产生一系列的图元,将它们的顶点数据发送给GPU。 第二步,顶点处理器(Vertex Processor)对顶点数据进行一系列的变换和光照处理。简单的想想,游戏中的各个物体的坐标都是参照游戏 中的世界坐标系的,而实际显示的画面是玩家视角或者摄像机视角,这中间就有许多坐标系的转换。这些活就需要顶点处理器来做,最终我们得到了我们所需要视角 的画面。 但是,到这一步,画面还只是一些多边形,而实际显示在屏幕上的是一个个像素,这里就需要Rasterizer进行光栅化(Rasterization,3),从而将画面变成一个像素图。 第四步,对这些像素进行上色,Fragment Processor中的像素着色器(Pixel Shader)按照程序规定的算法,计算出画面中 每个像素的颜色,之后第五步就是把结果输出到内存中,全部完成后拿去显示。当然在这整个过程中,还跟纹理贴图6有关系。所谓贴图就是把纹理(一个二维的静 态图片)按照一定的算法给贴到游戏里的三角形表面上去。 参数,究竟靠不靠谱? 终端厂商在宣传他们手机芯片的GPU如何强劲时,往往会提到一些参数,最常见的就是三角形生成率和填充率。但实际上,不同公司的GPU,他们的这些理论参数,并不具有直接的可比性。我 们也可以发现,有些GPU可能给出的理论参数很高,但实际表现却很一般,甚至不如一些参数低的GPU。这是因为,各个GPU的供应商,比如 IMGtec(PowerVR SGX),高通(Adreno),Vivante(GC系列),ARM(Mali),nVIDIA(GeForce),他 们给出这些理论数据的测试方式,可能不太一样。 比如三角形生成率,本身就受到很多测试因素的影响。例如,有些三角形在一开始就会被剔除掉(比如在屏幕外,或者太小了根本覆盖不到一个像素),不会 被显示也不会需要执行太多的运算,那么这部分三角形到底应该算吗?如果算进去的话,三角形生成率自然就高了。或者,测试程序把一些已经计算好的坐标提交给 GPU,那么GPU的Vertex Shader就不需要进行复杂的计算,数值自然就高了。再或者,并非生成一个三角形就一定需要处理三个顶点。如果有三 角形共享顶点,用indexed的办法绘制,顶点的数目就可以减少。就像下图,2个三角形只需要处理4个顶点。如果测试的时候大量使用这种方式,也可以提 高三角形生成率的数值。 同样,填充率反映了GPU的像素输出能力。但是厂家给出的理论值,很多都是没有贴图,没有Shader计算,仅仅是生成无色点的能力,跟实际使用的 情况有较大的差距。又比如Imagination Technologies 的PowerVR SGX系列给出的填充率,并不是实际值,而是实际值乘以 了一个2.5x的系数。这是由于PVR GPU架构的特殊性,可以剔除画面中被遮蔽的部分,不作渲染,减少了无用功。200MHz的SGX540,原生的 填充率是400M,而由于这种技术的存在,IMG认为其等效填充率相当于1000M。在实际的场景中,如果遮蔽的部分较多,这个系数可能远超过2.5x。 当然,如果场景中遮蔽较少,这个系数相应的也会变小。 事实上三角形生成率和像素填充率作为衡量GPU性能的参数,在PC平台上,几年前就已经被淘汰了。由于从DX8开始,现代GPU都已经由可编程的Shader来代替固定功能的单元实现各种特效,所以Shader的计算能力成为很重要的一点,在移动平台也是一样的。 移动平台的特点和移动GPU的架构 不过呢,移动平台相比于PC平台,还是有很多不同的。从本质上看,是由功耗和体积两方 面限制的,对于图形处理来说,主要是两点: 第一,是有限的带宽。实际上,要增加计算能力,在功耗允许的情况下,堆核心并不是一件难事,事实上我们也看到了不少SOC集成了四核乃至“16 核”GPU。但是难点在于,需要有足够的带宽去满足这颗强大的GPU,避免其出现“饿死”的情况。在左

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档