3DMark06是一款有缺陷的产品,没能正确的评估显卡游戏性能。但我们并不否认Futuremark是一家很有实力的公司,3DMark05就是其开发的一款专业的评估显卡游戏性能的Benchmark软件。但3DMark06就不是,在动态流控制-分歧是自Floating
Point添加进DirectX9以后,DirectX9最重要的更新,也是开发人员最常用到的的SM3.0特性,但这些在3DMark06中完全没有体现,这完全有损Benchmark软件在预测未来游戏性能方面的准确性。除此外3DMark06还在性能测试中引入了一些奇怪的东西,例如在像素渲染SM2.0的测试上,3DMark05及3DMark06并没本质上的区别。而且不同厂商生产的同一个规格的卡会有接近20%性能浮动,这就容易造成基准游戏性能测试的误解。
关键是3DMark06不能很好的评估显卡在现在或以后游戏中的性能表现-这可以从一些相关的主流游戏性能测试和开发者将会使用在未来游戏中的一些技术特性清晰反映出来。
缺陷细节举例:
3DMark06不能使用抗锯齿模式来运行。您不可能在去年找到一篇不测试AA性能的权威显卡评测文章。
游戏开发者认为动态分歧是SM3.0所带来的一个突破,同时也是一个支持SM3.0显卡的必备特性,然而Futuremark公司仍然将这部分的使用减少到最少范围,原因仅是因为该特性不能很好的工作在一家显卡厂商的硬件上。但这样做对于Benchmark软件开发者去评估SM3.0性能来说只能是一个临时性能选择。ATi建议3DMark06把DFC(动态流控制:Dinamic
Flows
Control)使用在自己的显卡的测试上,并允许在竞争对手的显卡上不带流控制去测试,以这样的方式来证明ATi对SM3.0的理解是正确的。但Futuremark拒绝了该提议,DFC仅小规模的应用在Benchmark中,这造成了3DMark06在开发过程中的缺憾,每个SM3.0测试仅包含了非常少量的DFC。另外,3DMark06中使用SM3.0的显卡运行SM2.0的测试是非常不合理的,因为SM3.0及SM2.0在设计构架上有所不同。以上这些游戏开发者最常采用到的特性的都没能在3DMark06软件开发时被Futuremark考虑进去。更让我们不能理解的是:
Futuremark放着DFC这些SM3.0必需具备的最重要特性不去支持,放而更热衷采用某些SM3.0中可自主选择是否支持的特性,例如被nVIDIA显卡支持的24b
surfaces,而且还在3DMark06的阴影着色中大量的采用。
关于从3DMark05到3DMark06像素渲染SM2.0测试中那反常性能浮动。这些测试是很难从视觉上去辨别,但是在同系列的卡中存在很大的性能浮动。ATi显卡仍然会是当今跑的最快的产品-我们很快会推出的下一代产品仍然拥有最好的性能。但是3DMark06那反常的性能浮动,让我们难于使用该软件去预测显卡的游戏性能。
另一个违背对游戏性能的评估的是3DMark06对SM2.0显卡及SM3.0显卡的记分。现在已经确认的是SM3.0不能提供比SM2.0更好的画质改善,只是在性能上有所提高(例如,通过使用动态的分歧预测机制)。然而在3DMark06中最新的高端SM2.0
显卡得分会比最新的中端SM3.0显卡要低(例如,X850显卡和X1600显卡),但这在实际游戏测试中这是不可能发生的情况。
在3DMark06其他还有一些问题是:鉴定显卡SM3.0性能的测试项目并非测试SM3.0。其中的“Perlin Noise Shader
Model3”测试项目实际上就是一个长的SM2.0渲染。该项目能被现在任何一家显卡厂商的SM2.0硬件运行。
Futuremark公司也明白到游戏开发者会为不同厂商的显卡而使用不同的代码,但其在Benchmark软件设计中却没有为不同厂商的显卡而使用不同的代码。软件的开发者不可能把为一个平台写的渲染程序原封不动的搬到另一套平台上,因为这是不可能运行的。正确的方法应该是为不同厂商的显卡使用不同的代码以求最好的工作效益。一个例子是顶点纹理拾取(VTF)功能和使用顶点缓存去做VTF。这都是对同一个问题提供的很好的解决方案,只是工作在不同的方式下而已。两者都不是SM3.0核心规范的一部分。如果把只针对一种方法而写程序包简单的加上一些代码封装就让它工作在另一套平台,这是非常不明智的。即使能运行,那性能也必然大打折扣。在3DMark06有几个地方就是的使用该方式渲染(例如,阴影的运算部分),这有可能是因为3DMark06的开发周期很紧导致的偷工减料。
3DMark06中使用的阴影运算是以一家在该方面运算效率极差的显卡厂商为模本开发的,此外,它使用的24b
depth-stencil纹理还不能支持他们自己早期的DX9芯片。相反16b surfaces是支持所有显卡厂商的每一代DX9显卡,而且使用16b
surfaces还不会降低画质。事实上,在游戏开发者的回馈中指出:他们更愿意采用16
surfaces和应用一些特别的存储机构去存储提高分辨率后的depth-stencil纹理数据。
3DMark06的最终得分是在显卡和CPU测试分数中取得一个中值,然后再在这个中值的基础上应用复杂的算法取得最后评估得分,所以3DMark06在测试最后都必须经过一些绚丽、繁重的熔补处理。但这些算法并不能反映显卡的实际游侠效能,例如X850XT在实际游戏中效能比X1600要高很多,但在3DMark06中得分却少于X1600。他们不得不找个办法把6200划分为SM2.0一类显卡,并不是因为6200不具备SM3.0的处理能力,而仅是因为6200缺乏一个可随意选择集成与否的SM3.0特性。Futuremark就武断的做出该决定。在另一方面,被定义为SM2.0的6200在得分评估时得以从一些深奥的SM3.0特性,如24b
surfaces运算中脱离,但ATi的产品却要负担上繁重及不必要的工作。这样的做法是非常武断没有任何逻辑性的。微软在符不符合SM3.0上有详细的定义,我们建议Futuremark去详细的阅读。
(责任编辑:刘伟) |