王者之间的较量,R300 VS NV30深度
浮点颜色精度:
看过了那么多的R300测试报告,想必读者大人们都对浮点颜色所带来的好处一清二楚。笔者就不多说废话了,简单提两句。其实,在VS2.0单元中的顶点颜色数据就可以使用浮点数据格式了,不过对于顶点处理器来讲,颜色数据精度的重要性远不如像素处理器,因此,放在了这里进行简单阐述。
NV30和R300都支持浮点颜色精度,号称最高都支持128bit浮点颜色精度(RGBA),就是每颜色通道用32位精度浮点数表示,取代以前的8位整数表示。不过有网站声称R300在绝大部分内部某些操作时,除了纹理取样阶段,其渲染精度只能达到96bit。这条消息尽管没有得到ATi的证实,但是也没有得到ATi的反驳,因此应该是真的。
此外,引入浮点颜色精度影响到的不仅仅是顶点数据中的顶点颜色,或者像素数据中的像素颜色。还会影响很多其他方面的内容:纹理格式、帧缓存格式和显示缓存格式等等。
相对而言,NV30是好学生,不但提供了对所有DX9新浮点格式的支持,而且不折不扣的执行精度标准。32位IEEE浮点精度完全贯穿于:帧缓存、纹理、片段(像素)处理器、顶点处理器和插值过程。同时,NV30片段处理器还支持16位浮点数和12位定点数。而纹理和帧缓存支持更多的定点数格式。
R300的资料尚不完全,现在仅仅知道R300在输入和输出阶段支持FP32和FP16浮点数,以及16位定点数。至于R300所支持纹理格式尚未有明确的答案。
注:有意思的是,似乎是为了照顾R300,在DX9 Beta2规范中,Microsoft尽管要求DX9显示卡必须支持浮点颜色渲染,但是对于浮点精度反倒没有具体要求,就是说,即使达不到IEEE-32的浮点精度,或者说不符合IEEE-32浮点格式,只要支持浮点数,就算是符合DX9规格。
R300展示出的浮点精度和整数精度在颜色表现中的巨大差别
整体来言,由于最高精度的问题,NV30胜R300。<