• NV GTX480对ATI HD5870:另一个视角


    自从NVIDIAGTX480推出以来,网上能见到不少对比评测。但大家一般都是用3DMark之类大型的评测方法,得到的结果比较笼统。我在 这里打算评测的方法是用DX SDK Feb2010sample,对GPU的不同模块分开评测。这样的结果对于图形相关人员更有意义。

    我的评测打算分三轮进行,分别评测传统图形流水线,DirectComputeTessellation的性能。测试的机器是两台Dell T5400 WorkstationXeon E5440 4-core4GB内存),分别装一块GTX480和一块HD5870。两块显卡都是公版配置。操作系统是Win7 64bit,使用传统界面以消除Areo界面的PS开销。显卡驱动分别是Forceware 197.41Catalyst 10.3

    第一轮 传统图形流水线

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

    NVIDIA Geforce GTX 480

    ATI Radeon HD 5870

    CascadedShadowDepthMap

    402.7

    366.4

    Contact Hardening Shadows

    716.8

    740.5

    VarianceShadows11

    391.2

    346.5

    DynamicShaderLinkage11

    1151.2

    998

    从结果可以看出,对于传统图形流水线,GTX480有一点优势。尤其是CSM和VSM这两个在不少游戏中都是用到的方法,GTX480分别比HD5870快了10%和13%。Dynamic shader linkage 11这个sample值得注意。Dynamic shader linkage是个D3D11的新功能,相当于让shader也可以使用虚函数的概念。在使用的时候只要访问接口,而实现部分可以动态link上去。对于对付shader的组合爆炸有为有用。在这个sample里GTX480快了15%。Contact hardening shadows是唯一让GTX480败阵的例子(也许是因为这是个来自AMD的demo)。它的shader里面用了GatherCmpRed这样D3D11新函数(ATI再D3D10.1里就开始发展Gather),而且涉及到大量的向量计算,更适合于HD5870的架构。

    第一轮,GTX480小胜。

    第二轮 DirectCompute

    DirectCompute是D3D11的重头戏,第一次把GPGPU带入了主流图形API。那么,在这两块显卡上,DirectCompute的性能又如何呢?这次选择的例子是NBodyGravityCS11,AdaptiveTessellationCS40和HDRToneMappingCS11。注意,AdaptiveTessellationCS40是用compute shader来实现tessellation,并非用硬件的tessellator,所以在这一轮出现。测试结果如下:

    NVIDIA Geforce GTX 480

    ATI Radeon HD 5870

    NBodyGravityCS11

    275.6

    364.7

    AdaptiveTessellationCS40

    554.4

    837.4

    HDRToneMappingCS11

    1710.9

    3393.3

    很显然,HD5870完胜,分别领先32%51%98%!这足以说明,ATIDirectCompute的支持相当好。比如HDRToneMappingCS11是可以切换使用PS还是CS来进行post process的,在HD5870上,CSPS稍微快一点,而在GTX480上,CS只有PS一半多点的速度。值得注意的是,从G80开始,NV的显卡在从GPGPU切换回Graphics pipeline的时候总会有一个不可忽略的开销。这使得程序如果需要来回切换,性能会受到很大的影响。不光DirectCompute如此,CUDA也是如此。

    眼尖的同学一定会发现,OIT11这个sample用的也是DirectCompute,为什么没有参与?是因为我发现在GTX480上该sample运行结果不对,没法记入统计。

    第二轮,HD5870大胜。

    第三轮 Tessellation

    D3D11在图形流水线中增加了Tessellation部分,使得Subdivision,曲面等精细活也可以简单地在实时渲染中呈现出来。NVIDIA宣传的时候非常注重Tessellation,号称最高比HD58708倍。是驴是马拉出来遛遛才知道,以下是测试结果:

    NVIDIA Geforce GTX 480

    ATI Radeon HD 5870

    DetailTessellation11

    1065.1

    743.2

    PN-Triangles

    731.4

    715.6

    SimpleBezier11

    1217.9

    1165.1

    SubD11

    471.7

    360.9

    眼镜小跌了一把。在这几个sample中,GTX480最多领先43%。其中两个简单的例子还只是<5%的优势。也许是因为这些sample都太简单,发挥不出GTX480的优势。

    第三轮,GTX480小胜。

    从这次的分块测试结果可以看出,DirectComputeTessellation分别是ATINV的强项,两者兼具的显卡还没降临地球。如果你做的是纯图形渲染,GTX480是个好选择。如果要作GPGPU+渲染,HD5870则好得多。

  • 相关阅读:
    Nodejs中的流
    Openstack Havana的两个排错过程
    Mongoose入门
    Promise
    CSS3中的动画
    MySql学习笔记(一)--安装配置
    应用Dubbo框架打造仿猫眼项目(二) 影片模块开发
    应用Dubbo框架打造仿猫眼项目(一) 用户模块开发
    4种事务的隔离级别
    JAVA面试题解惑系列(一)——类的初始化顺序
  • 原文地址:https://www.cnblogs.com/gongminmin/p/GTX480_VS_HD5870.html
Copyright © 2020-2023  润新知