您的位置:首页 > 其它

NV GTX680对GTX580:另一个视角

2012-04-22 14:56 162 查看
转载请注明出处为KlayGE游戏引擎,本文地址为http://www.klayge.org/2012/03/31/nv-gtx680%e5%af%b9gtx580%ef%bc%9a%e5%8f%a6%e4%b8%80%e4%b8%aa%e8%a7%86%e8%a7%92/
2年前,D3D11显卡刚出来没多久的时候,我曾经做过一个《NV GTX480对ATI HD5870:另一个视角》,用DX SDK的D3D11例子来对当时巅峰的显卡进行各个单项的性能评测。时过境迁,现在NV GTX680已经上市,硬指标对比如下表所示。

GTX 680GTX 580
制程(nm)2840
晶体管数量(Million)35403000
Die大小(mm^2)294520
显存(MB)20481536
SM数量816
核心配比1536:128:32512:64:48
核心频率(MHz)1006-1058772
shader频率(MHz)N/A1544
显存频率(MHz)60084008
像素填充率(GP/s)32.237.06
纹理填充率(GT/s)128.849.41
显存带宽(GB/s)192192.4
总线宽度(bit)256384
APID3D11.1

OpenGL 4.2

OpenCL 1.2
D3D11.1

OpenGL 4.2

OpenCL 1.1
Gflop/s3090.41581.1
TDP(watts)195244
Gflop/s-watt15.856.48
从指标上可以看出,GTX680的 SP数量急剧提高(512->1536),但SM数量见到原来的一半(16->8),所以每个SM内的SP个数从32猛增到192。这对scheduler是极大的考验。

由于配置上的较大不同,性能能有多高看理论值不行,还是得实际跑程序才能知道。这次的评测仍然分三轮进行,分别评测传统图形流水 线,DirectCompute和Tessellation的性能。测试的机器仍是两年前的Dell T5400 Workstation(Xeon E5440 4-core,4GB内存),依次装上GTX580和GTX680。两块显卡都是Zotac的公版。操作系统是Win7 64bit,使用传统界面以消除Areo界面的PS开销。显卡驱动分别是Forceware 295.73和Forceware 301.10。DX SDK的版本是June 2010。

第一轮 传统图形流水线

第一论测试的是两块显卡在游戏常见的场景中的图形性能表现,选用的sample是Cascaded shadow depth map,contact hardening shadows, variance shadows 11和Dynamic shadow linkage 11。测试结果如下:

GTX 680GTX 580
CascadedShadowDepthMap332.04337.63
Contact Hardening Shadows1225.67851.30
VarianceShadows11305.40309.83
DynamicShaderLinkage112716.492620.81
很失望吧,除了Contact hardening shadows,GTX 680并没有比GTX 580提高多少,甚至还有所下降。但领先的那个例子恰恰是计算量和带宽要求最大的。

第二轮 DirectCompute

盛传GTX 680的GPGPU能力不如从前,第二轮就来测试DirectCompute这个GPGPU能力。

GTX 680GTX 580
NBodyGravityCS11675.10374.28
AdaptiveTessellationCS401031.88938.46
HDRToneMappingCS113308.632815.89
GTX 680在三个例子中都得到了领先的地位,最明显的是NBodyGravityCS11,达到了1.8x的提升。我认为和这个例子的计算量大、但分支较少有关。一个SM包含那么多的SP,对于分支diverse的代价是很大的。

第三轮 Tessellation

Tessellation一直是NV的强项,这次GTX 680的tessellator再次有了提升。

GTX 680GTX 580
DetailTessellation111077.48983.20
PN-Triangles2481.892376.34
SimpleBezier114373.633884.52
SubD11923.32578.62
也达到了全部领先的程度。最复杂的SubD11提升1.6x。

以上三个测试可以看到,GTX 680并没有传说中的GTX 580×3的性能,至少,在DX SDK sample的分辨率和复杂程度下没达到。但是可以看到的一个趋势是,对计算量和带宽要求越大的例子,GTX 680的提升就越大,所以其实在大部分时候它的能力是没有完全发挥出来的。分支的程度也比较影响GTX 680,所以应该在shader/kernel级别明智使用分支。另一个重要的事情在于驱动,对比2年前的测试,虽然GTX 580比GTX 480只是多了32个SP,但由于驱动的改进,性能却有非常明显的提升,部分例子甚至达到了3倍。目前GTX 680的驱动刚处于非常初级的状态,相信过一段时间成熟了才会达到GTX 680的最佳状态。

额外测试

在测完DX SDK的例子之后,我与顺便测试了KlayGE的例子。这里选了两个比较有代表性的例子,分别是Deferred和Forward流水线。分辨率是1280×800,高于DX SDK sample的800×600。

GTX 680GTX 580
Deferred rendering150.55139.84
Shadow cubemap267.38/330.78259.08/239.07
Deferred rendering的例子情况类似于前面的评测。比较有趣的是Shadow cubemap的例子。和《不争气的geometry shader》 一样,这里分别测试了6 pass cubemap和1 pass cubemap。斜杠之前的FPS是6 pass的。在以前的显卡上,不管是NV还是AMD,通过geometry shader完成render to cubemap都比6 pass还慢。但在GTX 680上,GS终于翻身了,彻底打败6 pass的做法。从这个角度也可以看出GTX 680的硬件性能提升。

总的来说,GTX 680并没有官方宣传的“恐怖”性能。但凭借工艺的进步,在那个Die大小的情况下能达到这样的速度是很不容易的。期待下半年的旗舰GK110。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: