正文内容 评论(0)
[解析X800系列的新技术上]
一般来说当一个新硬件发布的时候除了硬件规格的改善外,在软件技术上,也有相应的创新。那么这次X800又带来了什么新技术呢?主要就是以下几种,我们分别道来:
SmartShader HD
我们首先来谈谈X800系列所拥有的最新的SmartShader HD技术。SmartShader技术是ATi从第一代支持Shader的显卡Radeon8500开始就一贯拥有的着色器优化技术。历经8500-9700-9800-X800,这已经是第四代的产品了。
既然叫作Smartshader HD那么其技术自然就是为顶点着色器和像素着色器所服务的。新的Smartshader相比过去的版本有哪些改进呢?
首先我们来看顶点着色器,就是VertexShader,VS在目前的DX9.0b中的版本是2.0,也是X800系列支持的最高版本。使用了SmartShader HD技术的X800的VS单元比R9800有更高的顶点着色效率。加上我们前面讲过,因为X800将顶点着色器的管线数目也增加到了六个,因此在处理新的需要大量几何运算的画面中,例如波涛起伏的绿色海洋,绵延多变的山脉地表等等,X800系列的顶点着色器就会卓显其高效的优势。
我们再回过头去看SmartShader另一个重要的组成,就是像素着色器PixelShader,PS单元是为了处理各种复杂的三维图形最终输出的表面效果而辛勤工作的功臣。X800的像素着色器单元和镭9800一样,支持DirectX9规范中的24位精度要求(这里依旧不支持32位精度),加上大幅度增加的管线 ,其效能真的很让我们期待,据说像素运算操作的效能的峰值可以达到400亿次/秒。

昔日镭9800的着色器还受指令长度过短的制约,每个指令总长度最大仅仅只允许160条,这对于复杂的三维特效的实现来说是远远不够的,因此SmartShader也将这个 长度大大的提升到1536条。不过话说回来,这个长度虽然提高了很多,但是在最新的DX9.0c规格中这个指令长度已经达到无限了,ATi看来稍微落后了一点。
SMARTSHADER HD也提供了F-Buffer技术的改良,F-Buffer技术也是RADEON 9800系列率先引进的技术之一。F-Buffer 是「Fragment Stream FIFO Buffer」(分段串流式先入先出缓冲器)的简称,其处理复杂的特效时,只传递需要多次通过像素着色器引擎的像素,而其它的像素只进入渲染管线一次就完成了所有步骤。多通道像素储存在通道之间的F-buffer内,而非写入窗口缓冲器,使透明的像素可以分开储存前景颜色和背景颜色。这项技术不只节省了渲染时间、降低内存带宽需求,更能完美的掌握对象的透明度。
而且SMARTSHADER HD 将改良的内存管理功能加入了硬件之中,而不是将管理工作交给驱动程序的软件算法来做,这样解决了昔日很棘手的内存管理问题。
Hyper-Z HD技术
当显卡为我们在只是二维的显示器上绘制三维世界时,必须虚拟出来图形的纵深距离,这就在XY之外需要一个表示纵深的Z轴(Z-buffer)。
因此,对于三维运算来说Z轴的不断的更新计算是非常的消耗系统资源的,如果不想办法减少Z-buffer的所需的大量空间,那么大量的显示资源都会被消耗,而显卡速度也不可能突飞猛进。因此Hyper-Z HD技术就是ATi开发用在X800上的目前最高效的Z轴压缩算法之一。
Hyper-Z HD技术由以下几种技术共同组成:
Hierarchical Z :
这项技术是将Z-Buffer 区分为数个像素区块,以利快速检查这些区块是否能够在成像中出现。若整个区块会被隐藏,则直接舍弃此一区块而进行下一区块的着色工作。若区块的部份会显示出来,则再将此区块分割为更小的区块,重复检查的程序。
Early Z Test:
这项技术采用了成熟的算法,在个别像素进入着色引擎前先测试其可见度,可以有效消除过度绘图并使着色效率达到最高。
Z Compression :
这是一项用于压缩写入Z-Buffer 及解压缩读出Z-Buffer 的数据的无损失算法。HYPER Z HD 引进了改良型的算法,可以达到8:1 的压缩率,先期产品的压缩率是4:1。在任何状况之下,压缩率至少也能达到2:1。这项压缩技术在设计上是搭配反锯齿功能的最佳工具。在6x MSAA 之下,压缩率可以高达48:1。这项特性是RADEON X800系列反锯齿效能的重要指标。
Fast Z Clear:
这是一项可以在着色视框之间进行Z-buffer 快速清除工作的技术。此项程序在较高分辨率时尤为重要。例如,在1600x1200 分辨率之下,光是清除工作,每一视框就必须利用约7.7 MB的数据写入Z-buffer。HYPER Z HD技术只需要1/64的数据量就能清除Z-buffer,可大幅改善较高分辨率时的效能。

