当前位置:首页 > 装机升级 > 显卡 > 评测
游戏跑分新视角:细看一秒内帧数变化
  • 2011-9-22 0:01:00
  • 类型:转载
  • 来源:泡泡网
  • 网站编辑:admin
【电脑报在线】    编者按:从游戏评测出现至今,FPS(FramesperSecond,每秒帧数)一直都是我们衡量硬件表现好坏的标准。毫无疑问,在绝大多数情况下,FPS的确可以作为游戏性能的标杆。但是,经历了长久的测试历程以及数以万计的帧数统计之后,部分玩家已经开始注意到,实际获得的游戏体验和表面得出的FPS数据并不完
出现问题的放大

    游戏跑分新视角:细看一秒内的帧数变化

    游戏跑分新视角:细看一秒内的帧数变化

    游戏跑分新视角:细看一秒内的帧数变化

    同样的,三款单卡看起来还比较正常,总体来说比较问题,而且突发帧数量并不多。

    游戏跑分新视角:细看一秒内的帧数变化

    从GTX560TiSLI身上就已经开始显现出较大波动,总体上遵循一高一低的趋势,下面的多卡系统莫不如此。

    游戏跑分新视角:细看一秒内的帧数变化

    游戏跑分新视角:细看一秒内的帧数变化

    游戏跑分新视角:细看一秒内的帧数变化

    游戏跑分新视角:细看一秒内的帧数变化

    游戏跑分新视角:细看一秒内的帧数变化

    游戏跑分新视角:细看一秒内的帧数变化

    游戏跑分新视角:细看一秒内的帧数变化

    已经不止一次的听到关于多卡系统的Micro-stuttering(下文会具体解释)问题了,这次算是一个集中的反映。需要清楚的是,我们这里看到的很像是多卡系统工作方式的一个人工还原。

    不管是AMD还是NVIDIA,在CrossFire/SLI多卡系统中都将AFR(AlternateFrameRendering,交替帧渲染)作为首要渲染模式。顾名思义,比如在双卡系统中,AFR就是将偶数帧交给GPU1渲染,而奇数帧则安排给GPU2渲染;或者说把第n帧画面指派给GPU1渲染,把n+1帧指派给GPU2渲染,使帧数渲染交替进行,从而充分利用多卡系统的并行几何处能力。(三卡或四卡的原理一样,渲染交替进行。)虽然,CrossFire/SLI同样支持其它一些负载平衡渲染模式,比如SFR(SplitFrameRendering,分割帧渲染),但效率方面并不如AFR。

    虽然这些基本原理非常简单,但要在多卡系统中做到负载平衡却相当不易。首先,每一个独立的帧从渲染原理上来看就是一个需要高度平行的任务,需要高度平行的天性使得帧与帧之间的平行也相当拿捏,所以保持帧间的同步很是困难,更不用说多卡之间的负载平衡了。(比如GPU1已经完成了1帧渲染,需要进行第3帧渲染,而此时GPU2的渲染还在进行,那么GPU1就需要等待。当然,实际的平衡负载问题要复杂的多,需要平衡算法来解决。)

    另外,因为不管多卡系统中有几款显卡,只有主卡才能与显示器连接,所以其他显卡渲染的帧只能通过传输到主卡进行输出。而无论是CrossFire还是SLI接口,这种数据传输都会耗费时间。除了帧数据,其它的一些缓存数据也需要经常在显卡之间进行传输,尤其是一些高级渲染技术(比如render-to-texture,渲染到纹理)使用的情况下。而这些数据通常会使用PCI-E接口,同样会造成延迟。

    上面的图表很好的说明了多卡系统之间负载平衡还远远未达到完美,需要解决的问题还有很多。不过现在,我们可以先从一些多卡系统的天生缺陷说起。

    很明显,继续使用平均FPS去评估多卡系统的性能表现肯定是不靠谱的。因为从平均FPS很难看出高延迟帧,而这些高延迟帧却恰恰是获得连贯游戏画面的关键因素。我的感觉是,在提供连贯的游戏体验方面,帧延迟在20ms和50ms之间交替进行并不如一直稳定在50ms。

    因为,从人类的视觉系统特别善于捕捉不规则的场景,也就是说一快一慢的画面会让人感觉相当不爽。事实上吗,这种体验我已遇到多次。这也就是为何很多人抱怨Micro-stuttering的原因。

    当然,这些只是冰山一角。问题的复杂性要远比这些图表展现的高的多。关于这个问题我们接下来会进一步阐释,但现在,我还是想把这些数据继续放大,看看还有那些问题。

    
我来说两句(0人参与讨论)
发表给力评论!看新闻,说两句。
匿名 ctrl+enter快捷提交