泡泡网显卡频道 PCPOP首页      /      显卡     /      评测    /    正文

王者之间的较量,R300 VS NV30深度

与VS1.0到VS2.0/3.0指令集变化类似,PS1.x到PS2.0/3.0指令集也发生了不小的改变。不过隐藏在幕后更重要的是PS2.0/3.0指令执行方式发生了本质变化,变成了类似VS1.0的实现方式。在早期的PS1.0~1.4中,如果PS指令的数量超出了PS处理单元stage数量(上一代GPU只有2, 4 或5),则由于必须采用流水线合并方式执行,此时像素渲染效率会成倍下降。对于PS2.0的实现来讲,每条渲染流水线都配备了一个真正的处理器,再也没有这个问题了,这就为采用复杂像素着色程序的游戏出台打通了最后的障碍。

与PS1.0~1.4,PS2.0/3.0新增了一些指令(包括宏指令):FRC, EXP, LOG, POW, CRS, ABS, RCP, RSQ, NRM, MIN, MAX, LRP。同样,为了排版方便,就不提供DX 8 PS 1.x的指令集了。

DX9PS2.0提供的宏指令:

MIN, MAX, LRP, POW, CRS, NRM, ABS, SINCOS, M4X4, M4X3, M3X4, M3X3, M3X2.

Microsoft是鼓励独立系统开发商(ISV)本地指令实现这些宏指令的(宏指令与本地指令的区别在顶点着色器部分笔者已经作了探讨,但是不作要求)。看起来,nVIDIA的工程师实在努力的多。

不少指令与VS指令情况类似,为了节省篇幅,不在详细介绍,简单评论几句。

如果与PS1.4相比,可以发现其中的LRP指令在PS2.0/3.0中反而变为了宏指令,ATi竟然真的没有在R300中本地实现已经在R200中实现的指令,相反,NV30反倒本地实现了。另外,PS1.4早就提供的CMP指令还是得不到nVIDIA的支持。难道ATi和nVIDIA工程师之间真得如此的深恶痛绝!呵呵。

不能不承认,NV30的PS指令集太强大了,除了不支持流控和一项纹理指令外,几乎在各个方面都超过了DX9PS3.0的规范要求。相比较而言,R300的PS指令集看起来就逊色多了。在VS和PS指令集方面,ATi需要加油!希望R350能够弥补这项巨大的差距。NV30在PS指令集上大胜R300。<

0人已赞

关注我们

泡泡网

手机扫码关注