热点推荐
ZOL首页 > 显卡 > 评测 > 1000元以上 >

着色器模型变化历程与总结

超越图形界限 AMD并行计算技术全面解析

CBSi中国·ZOL 作者:中关村在线 濮元恺 责任编辑:王胤韬 【原创】 2010年08月25日 06:20 评论
在本页阅读全文(共53页)

    ● 着色器模型变化历程与总结

    在图形渲染中,GPU中的可编程计算单元被称为着色器(Shader),着色器的性能由DirectX中规定的Shader Model来区分。GPU中最主要的可编程单元式顶点着色器和像素着色器。

    为了实现更细腻逼真的画质,GPU的体系架构从最早的固定单元流水线到可编程流水线,到DirectX 8初步具备可编程性,再到DirectX 10时代的以通用的可编程计算单元为主、图形固定单元为辅的形式,最新的DirectX 11更是明确提出通用计算API Direct Compute概念,鼓励开发人员和用户更好地将GPU作为并行处理器使用。在这一过程中,着色器的可编程性也随着架构的发展不断提高,下表给出的是每代模型的大概特点。

    表:Shader Model版本演化与特点


Shader Model

GPU代表

显卡时代

特点

 

1999年第一代NV Geforce256

DirectX 7

1999~2001

GPU可以处理顶点的矩阵变换和进行光照计算(T&L),操作固定,功能单一,不具备可编程性

SM 1.0

2001年第二代NV Geforce3

DirectX 8

将图形硬件流水线作为流处理器来解释,顶点部分出现可编程性,像素部分可编程性有限(访问纹理的方式和格式受限,不支持浮点)

SM 2.0

2003

ATI R300

和第三代NV Geforce FX

DirectX 9.0b

顶点和像素可编程性更通用化,像素部分支持FP16/24/32浮点,可包含上千条指令,处理纹理更加灵活:可用索引进行查找,也不再限制[0,1]范围,从而可用作任意数组(这一点对通用计算很重要)

SM 3.0

2004

第四代NV Geforce 6

ATI X1000

DirectX 9.0c

顶点程序可以访问纹理VTF,支持动态分支操作,像素程序开始支持分支操作(包括循环、if/else等),支持函数调用,64位浮点纹理滤波和融合,多个绘制目标

SM 4.0

2007

第五代NV G80ATI R600

DirectX 10

2007~2009

统一渲染架构,支持IEEE754浮点标准,引入Geometry Shader(可批量进行几何处理),指令数从1K提升至64K,寄存器从32个增加到4096个,纹理规模从16+4个提升到128个,材质Texture格式变为硬件支持的RGBE格式,最高纹理分辨率从2048*2048提升至8192*8192

SM 5.0

2009

ATI RV870

2010NV GF100

DirectX 11

2009~

明确提出通用计算API Direct Compute概念和Open CL分庭抗衡,以更小的性能衰减支持IEEE75464位双精度浮点标准,硬件Tessellation单元,更好地利用多线程资源加速多个GPU

    传统的分离架构中,两种着色器的比例往往是固定的。在GPU核心设计完成时,各种着色器的数量便确定下来,比如著名的“黄金比例”——顶点着色器与像素着色器的数量比例为1:3。但不同的游戏对顶点资源和像素资源的计算能力要求是不同的。如果场景中有大量的小三角形,则顶点着色器必须满负荷工作,而像素着色器则会被闲置;如果场景中有少量的大三角形,又会发生相反的情况。因此,固定比例的设计无法完全发挥GPU中所有计算单元的性能。

    顶点着色单元(Vertex Shader,VS)和像素着色单元(Pixel Shader,PS)两种着色器的架构既有相同之处,又有一些不同。两者处理的都是四元组数据(顶点着色器处理用于表示坐标的w、x、y、z,但像素着色器处理用于表示颜色的a、r、g、b),顶点渲染需要比较高的计算精度;而像素渲染则可以使用较低的精度,从而可以增加在单位面积上的计算单元数量。在Shader Model 4.0之前,两种着色器的精度都在不断提高,但同期顶点着色器的精度要高于像素着色器。

    Shader Model 4.0统一了两种着色器,所以顶顶点和像素着色器的规格要求完全相同,都支持32位浮点数。这是GPU发展的一个分水岭;过去只能处理顶点和只能处理像素的专门处理单元被统一之后,更加适应通用计算的需求。

    DirectX 11提出的Shader Model 5.0版本继续强化了通用计算的地位,微软提出的全新API——Direct Compute将把GPU通用计算推向新的巅峰。同时Shader Model 5.0是完全针对流处理器而设定的,所有类型的着色器,如:像素、顶点、几何、计算、Hull和Domaim(位于Tessellator前后)都将从新指令集中获益。

浅析DirectX11技术带给图形业界的改变
GPU执行FFT性能将在未来迅速提升

    如图,快速傅里叶变换(Fast Fourier Transform,FFT)有广泛的应用,如数字信号处理、计算大整数乘法、求解偏微分方程等等。SIGGRAPH2008峰会认为未来随着Compute Shader和新硬件、新算法的加入,GPU执行FFT操作的性能将得到快速提升。

    如果使用DirectX 11中的Computer Shader技术,API将能借助GPU充裕的浮点计算能力进行加速计算,则能轻易完成大量的FFT(傅里叶变换)。在图形渲染中,这项技术的运用极大地提高了波浪生成速度,而且画面质量也更好。

    以往受限于浮点运算性能,目前CPU进行FFT变换只能局限在非常小的区域内,比如64x64,高端CPU最多能达到128x128,而GTX 280则能实现每帧512x512的傅里叶变换,所用时间不过2ms,效能非常高。

上一页 1 ...26 27 28 29 30 ...53 下一页
本文导航
频道热词:华硕主板  Intel  AMD  
视觉焦点
ATI Radeon HD 4850
  • 商家报价:
  • 厂商品牌:ATI
  • ZOL评分:0
  • 网友口碑:0
  • 查看详细>>
    显卡评测热点
    排行 文章标题