殊死拼杀!nVIDIA与ATi四款优异游戏
正如上述的列表资料中显示的那样,在微软的DirectX3D API中,每种VS与PS的版本其实都是渐进的,不过当中的寄存器与流程控制却是有一个很重要的指标,从Radeon9700 Pro开始ATi就在Vertex Shader中直接支持到了3_X的版本,所以在流程控制的帮助下可以达到最大1024条指令的支持。
R300的Pixel Shader内部结构,仅可流行单向流程的工作
但是在PS方面则显得落后一些,不具备流程控制的功能下可以支持总共96条的指令,只属于2.0的版本,由于缺少的流程控制,让R300失色不少(流程包括了call其它函数,循环,判断,中止等众多灵活的功能搭配)。为此ATi的工程师们在打造R350时就认准了R350必须是比R300在编程上可以更加灵活的一块GPU为目标。所以F-Buffer就此诞生了,实际上F-Buffer的原理很简单,它是通过在完成纹理颜色与地址等众多混合运算之后,将其结果存储作为新一轮纹理运算基本条件进入下一个渲染的过程,但简单的技术往往却很实用,这种的循环无需对于三角形主体的Z轴数据、顶点数据等进行多级的重新存读动作,而这些动作往往就是显存带宽的杀手。
在R350之前,ATi的PS仅能做到最大96条的像素纹理操作指令,而主要的对手nVIDIA却表示它们的NV30可以达到1024或者更多,现在借由F-Buffer的帮助,ATi的R350在这一性能指标方面可以说与nVIDIA的NV30构架是平起平坐了。不过话说回来,凭借目前的图形卡性能要想在单像素上执行超过16或者24条指令的话已经会把速度拖得很慢了,更何况更多的指令执行数,nVIDIA曾表示过它们的显卡能够实现电影级别的画面渲染,我相信这对于娱乐级的NV30或者R350来说都只是一种美好的梦想而已。至于二者谁的流程速度更快一些则要取决于内部的流水线设计以及寄存器大小,运算方法等其它因素。
F-Buffer采用的是FIFO先进先出的传统寄存器法则,目前的F-Buffer存储介质也可分为两种,一是芯片内部整合的寄存器或者DRAM,另一种则就是显卡的板载显存了,很显然前者的速度要远比后者快一些,ATi暂时还没有官方的资料明确的指出F-Buffer是采用何种介质,不过内部寄存器的可能性会大一些。
在其它方面R350实际上也有一些改进,如进一步的优化了内存控制器,SmoothVision2.1等等,不过却没有太多比F-Buffer更有新意的设计了。<