科普:深度解析GPU 知道不一定就懂.doc

科普:深度解析GPU 知道不一定就懂.doc

ID:28111589

大小:181.50 KB

页数:5页

时间:2018-12-08

科普:深度解析GPU 知道不一定就懂.doc_第1页
科普:深度解析GPU 知道不一定就懂.doc_第2页
科普:深度解析GPU 知道不一定就懂.doc_第3页
科普:深度解析GPU 知道不一定就懂.doc_第4页
科普:深度解析GPU 知道不一定就懂.doc_第5页
资源描述:

《科普:深度解析GPU 知道不一定就懂.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、科普:深度解析GPU知道不一定就懂  除了CPU(中央处理器)以外,SoC(SystemOnaChip:片上系统)另一个重要的组成部分是图像处理单元(GraphicalProcessingUnit),就是俗称的GPU。大家或许都知道玩3D游戏少不了它,但具体发挥什么作用也许说不清楚,这回我们就来揭开GPU的神秘面纱。    GPU专门用于快速完成一些特定类型的数学运算,特别是对于浮点、矢量和矩阵的计算,能将3D模型的信息转换为2D表示,同时添加不同的纹理和阴影效果,所以GPU在硬件里也是比较特殊的存在。  3D模型是由许许多多小三角形组成的,通过X、Y、Z坐标定义每个

2、三角形的顶点。实际处理中,小三角形的顶点会相互重合,如果一个复杂的模型由500个小三角形组成,最后需要定义的顶点数并没有1500个那么多。而要将一个抽象的3D模型展现出来,三种要素不可缺少:位移、旋转(三轴)和缩放,所有这些操作统称为转换(transformaTIon)。为了不陷入复杂繁琐的数学运算,处理转换(transformaTIon)最佳的方式就是运用4x4的矩阵。  从3D建模到最终显示在屏幕上,GPU渲染场景使用的是流水线操作。早些时候流水线操作是固定不能作任何改动的,整个操作由读取三角形的顶点数据开始,接着GPU处理完后进入帧缓冲区(framebuffer

3、),准备发送给显示器。GPU也能对场景进行某些特定效果的处理,不过这些都是由工程师设计固定好的,能提供的选项很少。  可编程着色器(Programmableshaders)    在Android仍在萌芽之时,桌面级的GPU就开始可以对流水线部分的操作进行编程。随着OpenGLES2.0标准的推出,移动版的GPU也开始支持可编程操作,这些可编程的部分被称作着色器(shaders),最重要的两个着色器是顶点着色器(vertexshader)和片段着色器(fragmentshader)。每个顶点都会调用一次顶点着色器,所以在渲染一个三角形时顶点着色器需要被调用三次;而片段

4、着色器,我们可以简单的将每个片段(fragment)想象成屏幕上的每一个像素点,因此每生成一个像素片段着色器就被会调用一次。    两个着色器充当不同的角色,顶点着色器主要负责将3D模型的数据转化为现实世界中的位置以及纹理贴图或者光源,再进行转换(transformaTIon);片段着色器则用于为每个像素设置相关的颜色。简单一点的说明:顶点着色器就是处理顶点相关的信息,片段着色器就是处理画面的颜色信息。  仔细观察你会注意到每个顶点的处理都是相互独立的,同样每个片段的处理也是如此,这意味着GPU能够并行运行着色器,事实上GPU也是这么干的,绝大多数的移动GPU都有多个

5、着色器核心(可编程执行着色器功能的独立单元称之为着色器核心),至于GPU厂商宣称对于着色器调用优于别家则属于市场营销的问题了。    以ARM的MaliGPU为例,其系列GPU名称后缀的“MPx”中的x代表有多少个着色器核心,MaliT880MP12就代表有12个着色器核心。每一个核心里面都有一条复杂的流水线,代表着每完成一个着色器操作,新的操作指令就会立刻发出,同时核心里面不止一个算术单元,所以在相同的时间内能完成多个操作。ARMMaliGPU(包括MaliT600、T700和T800系列)能在每一条流水线每个时钟周期发出一条指令,所以一个典型的着色器核心能并行发出

6、4条指令,MaliGPU目前最高支持16个核心,也就是说可以并行发出最多64条指令。  所有的一切意味着GPU是并行处理大量数据的工作方式,与CPU非常不同,不是一般的顺序操作。但这只是一个小问题,严峻的事实在于可编程的着色器核心代表着每个核心的实际表现不再由GPU工程师设定好,而是取决于app开发者。于是一个质量较差的着色器代码能让GPU的表现直线下降,幸运的是大多数的3D游戏开发者都明白这个道理,会为着色器运行做最佳的优化。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。