15年前的RIVA 128
在GPU发展的历程中,在完全可编程的GPU推出前,各家的GPU基本上就是满足API或者Direct 3D的规格需求,在架构上可以回旋的余地不大。随着GeForce 3的出现,GPU进入了一个可编程的新时代。GPU可编程给各家的架构设计带来了更大的发挥空间,在架构上比较激进的NVIDIA针对预测的未来图形的发展方向作了很多尝试。比如说,NVIDIA GeForce FX GPU的规格就超过了同期DirectX 9.0的规格,在可编程型方面更近一步,支持长着色程序和一些程序流控制功能;而GeForce 6则是带来了全新的FP16 HDR渲染特性,在架构上实现了比较完整的程序流控制功能。
AMD方面,当时应该称作ATI,相对比较保守,基本上严格按照DirectX的规范来设计GPU。虽说GeForce FX在商业上相当失败,但是其架构基础给GeForce 6一代的成功奠定了很好的基础。
抛开这些因素,NVIDIA和AMD的架构在这段时期内并没有本质的区别,基本上都是Vertex shader, setup/光栅化,vertex shader以及ROP/内存控制器这些单元组成,shader的结构也大同小异,都是向量处理器形式的。这种趋同的架构设计趋势直到G80/R600这一代GPU的出现才出现了重大的变化。