- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
d王朝图形加速卡
此文首发与3DM,转载请注明出处即可。
3DM曾经汉化过那么多I社神作,首发再次聊表敬意。
文中难免错误百出,结构混乱,这也是我文章的特点,欢迎指正,反正我早就破罐子破摔了。
当然如果你在某个“哔”论坛PC版块看到此文不要惊讶,很有可能是我去混分的·······
想完全诠释3D图形加速芯片的各个方面,做到层次分明有理有据,再做到精简就很困难了,但我依旧会尽量控制文本的整体规模。
GPU全称Graphic Processing Uni ,直译过来就是图形处理单元。最初出现于NVIDIA的Geforce 256 3D图形卡以后。这本来算是个概念,因为当时NVIDIA的Geforce 256演示demo展示了非常精细的毛发效果,NVIDIA的意思是以后就有了这种CG级的游戏画面。同时期的ATI也提出了VPU的概念,但GPU这个名称更加广泛而被沿用至今。
通常来说,对于PC用户中的3D游戏用户,其3D图形加速卡的性能是机器性能的第一标尺。本文的目的是从架构方面来拆分和分析GPU的各个方面。
在绘制一幅3D场景中,GPU负责多边形的构造、贴图、着色器指令、光照、阴影填充、以及最终的像素输出。CPU负责顶点位置,阴影边框绘制、AI运算以及其他运算指令,包括网络。
GPU要处理的东西具体到游戏主要分为材质库和着色器,这个我们从指令的角度拆着说,主要从GPU架构来分析对性能影响的各个单元。
本文不涉及显卡本身,这部分我会放在主板一文来写。(如果我写的话)
非统一渲染架构已经没有必要讨论,于是从最典型的统一渲染架构来逐步描述。
对于混乱的论证层级请勿怪。
我们将3D图形的处理一般称为图形流水线,这个过程大致是这样的:3D建模--多边形坐标变换及计算--光源处理--多边形坐标转换为屏幕所对应的坐标---对这些坐标做着色器和贴图运算---渲染及缓冲---输出图像。当然这之前还有指令列表处理几何处理以及渲染流输出等。
具体到流程,首先是Input Assembler Stage(输入汇编阶段),这个阶段依靠图元以及顶点信息作生成顶点、和图元地址。再由Geometry Shader一次性处理全部图元,其中可直接包含三角形、线、点。在G80中还引入了Geometry Shader,其主要作用是分担一部分物理操作。最后进行缓存输入、深度/Stencil测试和alpga混合。
我到这里得打住,乱了。先从GPU的规格谈起,再说架构吧。对于GPU性能的判定,主要从规格和架构2个方面。
第一节:规格和指标
GPU主要规格指标:
流处理器数量
阵列数量
光栅处理器数量
显存控制器数量
纹理单元数量
核心频率
显存频率
显存容量
先依次简单分析
流处理器数量
流处理器数量是3D图形核心重要性能指标。目前微软的directx作为最广泛的图形API,在一帧画面中所输入的指令几乎全部由流处理器来运算。从坐标到像素再到光源以及相应的转换,包括由于画面形成过程中所形成的数学向的计算。因此流处理器的数量越多,GPU的运算能力也就越强。特别是在光源复杂的环境,以及像素级纹理大量运用的场景,只要指令端口和外部总线可以承受住线程压力,这种运算能力的提升几乎是成绝对线性的,理论上说只要程序员敢调用足够多的着色器,就可以形成CG级的游戏画面。当然这只是理想的情况,实际的运用中限制就很多很多了。而且流处理器数量也和通用计算能力息息相关。
在早期directx9系列显卡的ALU,具备全4D运算能力,但无论1D还是4D,ALU只能以等效于核心频率进行运算。因此在对比directx9显卡的渲染管线和directx10、11显卡的流处理数量的时候不可绝对的画等号来比较,这里略微提下。
阵列数量
我在这里无论是GPC,TPC还是SM,SMX,都看作是近似的阵列。严格意义上来说SM和SMX才是真正的阵列。GPC和TPC更接近于材质通道/线程通道这种单元。
TPC在D11时代已经消失,不再讨论。
GPC作为阵列的集合存在,从物理结构上来说包含SMX和细分曲面单元,从功能上来说又在线程分派上起着承上启下的作用。随着SMX的线程分派器的功能日益强大,GPC的数量相对于ALU的整体规模实际上是在缩小的。从好的一面说,在密集型线程方面,这种架构有着延迟低的优势,而劣势是阵列的线程分派器的压力就很大了。现在SMX能够容纳的ALU单元数量,从本质上来说,并不是阵列能容纳的数量而是SMX这一级的指令分派器能够容纳的数量。从目前单SP的执行效率来看,如果下一步GPU需要扩容ALU单元来提升性能,那么GPC的数量会进一步提升,阵列内含的ALU数量提升会止步或者提升较小。
3.光栅处理器
光栅处理器处于外部总线的末端,所有处理好的指令包括纹理纵深光源都由光栅处理器转化为像素并且最终输送到显示器。也就是说,光栅处理器几乎是GP
文档评论(0)