【IT168 评测中心】记得在去年十一国庆节的时候,经过背后网络推手的联合疯狂炒作,小月月蹿红网络,并且留下了一句堪称经典的话语——神马都是浮云。对于我们测试来说,很多测试软件都是国际的知名产品,不仅仅是在国内,许多国外媒体也在使用同款软件,因此很少有人会质疑软件的权威性。不仅如此,更多的人对于软件的测试成绩也是深信不疑,往往某一款软件主宰了用户选购的方向,而造成这种情况的原因仅仅是一个看起来很公平的分数而已。
3
正是应了那句话,神马都是浮云
但事实上,我们发现无论是再优秀的软件,所能够实现的也仅仅是模拟一些应用。就拿大家熟悉的3DMark软件来说,这款显卡软件在很大程度上决定了用户对于显卡性能的判断,而事实上我们也知道,真正的游戏表现与测试成绩会有一定的差距,甚至有时候在特殊应用下这种差距会非常大。同样作为显卡,在专业绘图卡领域中,SPECviewperf一直占据了重要的地位,因为测试的项目多,内容丰富,许多人也将其作为衡量显卡3D性能的依据。不过在IT168评测中心经过多次精密测试之后发现,SPECviewperf软件或许并非人们想象的那么神奇。
什么是SPECviewperf 11
SPECviewperf 11是由标准性能评估机构SPECgpc项目组提供的一项测评软件。2010年6月,SPEC组织旗下的图形性能测试项目组(SPECgpc)正式推出了Specviewperf 11工作站用专业图形综合测试软件,新版本的主要变化是采用了新的图形测试界面,以及增加了用于测试的新款专业级3D应用程度片段。SPECviewperf 11采用的新GUI图形界面令首次使用这款软件的新人也能很容易上手运行测试,读取测试成绩以及获取帮助信息等,此外,Windows和Linux操作系统下均使用同样的测试脚本,保证了不同平台下测试结果的可比性。
很多时候,我们仰慕与SPECviewperf更多是SPEC组织的大名,因此对于这款软件的成绩也是深信不疑。是事实上,该软件的目的是测量工作站级图形适配器的图形性能。为了反映应用程序的真实性能,Viewperf使用的是实际应用程序中提取的OpenGL图形记录,这些记录会被转化成一种临时格式,并在运行时由Viewperf重新转换回OpenGL中。这些记录可能会被修改,以便Viewperf能正确完成贴图。
OK,这下就明白了。正是由于这种转换的存在,使得我们本次讨论的内容成立——转换的贴图究竟能够正确表现显卡的最终性能呢?以下讨论将会展示SPECviewperf如何在实际图形性能评价上表现不佳,并没有正确反映实际应用程序性能。
正如我们在刚才文章中提到的,理论上,SPECviewperf使用的是从实际应用程序中抽取的OperGL记录,应该是实际应用程序性能一个很好的指示器。这种理论的主要问题是SPECviewperf只使用应用程序中截取的OpenGL记录,建模时使用这些记录(有可能对原始记录进行修改)并旋转模型以获得原始帧数。由于SPECviewperf不能使用程序本身的实际图形引擎,所以SPECviewperf的贴图不具有可比性。SPECapc项目组另外提供了一些使用实际应用程序的基准测试软件,但是如果我们用SPECviewperf的测试结果与SPECapc所提供的其他基准测试软件作比较,会轻易看到两者的差别。我们不妨仔细看看一些SPECviewperf的个别测试成绩,看看它们和相应应用程序的基准成绩的差别有多大。
应用程序性能研究
SPECviewperf“snx-01”测试项目使用的是提取自西门子PLM NX7应用程序中的OpenGL记录,如果我们用ATI FirePro V7800和NVIDIA公司的Quadro 4000作对比(这里我们暂且不考虑产品的售价问题,纯从产品定位出发),我们得到以下测试成绩:
但如果我们用SPECapc for UGS NX4来测试,得到的是完全不同的结果:
为什么出现这种差异?因为SPECviewperf是用自己的贴图引擎重新显示原始记录,并非NX程序的精确复制。UGS(现在叫西门子PLM)所提供的NX4基准测试成绩取自实际应用中的数据集,并没有经过任何图形引擎的重新处理。这个SPECapc测试软件对用户了解应用程序在某块特定显卡上的运行情况提供了一个更好的参考。
同样的结果还存在与SPECviewperf的其他子测试项目中我们都能看到同样的结果。例如在“lightwave-01”测试中,ATI FirePro V5800与NVIDIA Quadro 2000的结果对比如下:
但用SPECapc for Lightwave 3D? 9.6测试的话, 这个软件所提供的3D建模性能成绩是这样的:
在这个例子中同样的情况再次出现了,ATI FirePro显卡在SPECviewperf测试中落后,但在实际应用程序测试上领先。对这些数据进行分析后可以看出,SPECviewperf可能并不适合用于衡量实际图形性能。如果用户仅仅依赖SPECviewperf的测试结果的话,他们可能会对使用应用程序、数据集和工程流程时的实际性能表现大吃一惊。
如今,越来越多的厂商和用户将SPECviewperf 11作为整体图形性能的一项重要指标,在选购的时候也以其为基准。但正如我们上面所看到的,SPECviewperf 11并非实际应用程序性能的合适指示器。事实上,SPECviewperf 11甚至没有很好的高低对比性。
NVIDIA网站上提供了一张对比表,上面有所有现有和旧款Quadro产品的SPECviewperf 11测试成绩。通过SPECviewperf,NVIDIA将每块显卡的每项Viewperf子项目成绩计算出了一个几何均值,或者叫“相对性能成绩”。如果我们将所有Quadro Fermi产品的“相对性能成绩”来作个比较的话:
随着曲线的上升,得到的数字并不太好,Quadro 5000和6000的性能提升只有13%。我们可以看到,Nvidia的产品售价上升幅度相当之大,但不幸的是,价格提升幅度和Viewperf性能提升幅度并不吻合。Quadro 6000的价格是Quadro 5000的两倍,但相对图形性能成绩,只比后者提高13%。
由此我们认为,虽然SPEC组织一直在升级自家的SPECviewperf软件,但是从应用结果来看,即便是最新的SPECviewperf 11也不能够完全表现出显卡的最终性能,而且甚至连其能否正确表现显卡性能都出现了疑问。
同时,基准测试的数据支持了我们关于SPECviewperf 11软件的两个结论——首先,SPECviewperf 11并非一个实际应用程序性能准确衡量的标准;其次,SPECviewperf 11子测试项目记录采集的源程序与应有的表现并不相符。此外,Viewperf并没有很好的高低可比性。
由此看来,SPECviewperf 11在衡量相对高端的图形卡性能时的参考意义不大,我们不能以其成绩作为唯一的衡量依据,但至少从目前看来,在专业图形卡的测试中,我们还找不到更全面的测试软件。因此,SPECviewperf 11依然可以给用户带来许多的参考价值。