让物理游戏更流畅 NVIDIA卡妙用指南

PChome | 编辑: 夏阳 2011-12-14 06:28:00原创 返回原文

老话重谈:物理游戏该咋玩

PhysX问世这几年以来它的确改变了游戏界的格局,在单一枯燥的传统中脱颖而出,可以说它其实就是一次游戏革命。但为什么PhysX本身很优秀却没有得到广泛的应用,原因笔者认为可以简述为两点:其一是因为只有NVIDIA显卡才具备的,其二就是对硬件性能依赖过大,再说直白点就是投资比较多。

随着GPU日益强大,第二个问题便慢慢的得到了改善,尤其是现在中高端单卡都可以畅玩PhysX游戏了,消费者可能会更多的关注在这个点上,这是一个人性的问题:花同样的钱在显卡上,白捡的便宜不会不要。

怎么玩才流畅

现在消费者中普遍存在着这样的认知:什么叫PhysX?PhysX能干嘛?不是PhysX的游戏很多,用老卡或者是A卡也能继续玩;还存在着:在显卡上投资了一两千元,还是不顺畅。消费者是上帝,拿着钱去买卡。你不管AMD还是NVIDIA得当孙子的角色,拿什么东西去吸引上帝来选择你呢?

PhysX是神马?PhysX能干嘛?

PhysX,读音与Physics相同,是一套由AGEIA(音译为“阿吉亚”或“奥加”)公司开发的物理运算引擎;也是世界三大物理运算引擎之一,另外两种是Havok和Bullet。后来AGEIA被NVIDIA全资收购,在短短几个月内将其技术融汇贯通,并且在之后推出的所有GPU产品里加入了该技术。

什么叫物理引擎?简而言之,就是令虚拟世界中的物体运动符合真实世界的物理定律,以使游戏更加富有真实感。物理模拟计算需要非常强大的整数和浮点计算能力。更为重要的是,物理处理具有高度的并行性,需要多线程计算,演算非常复杂,需要消耗很多资源。这就必须由高并行,高吞吐的GPU来运算,CPU的计算能力是远远不够的。一句话,PhysX可以通过模拟真实世界的物理现象,来让游戏从刻板的贴图变为栩栩如生,非常逼真。

我们从视频上看,墙上挂的布条,还有树叶随风随机的飘动,可以根据子弹射入的角度,子弹的威力破坏墙壁,在喷泉下水还能根据被淋到的部位而溅射到不同的地方。相信很多玩家网友已经直接或者间接的感受到PhysX所带来的视觉感受了,真的可以对那些玩一千遍都是一个样的固定贴图说拜拜了。

世界上有三大物理引擎,为什么就PhysX的效果最逼真?因为Havok和Bullet都是基于CPU运算的,而鉴于CPU的计算能力,游戏厂商不能将物理运算量开到最大,只有PhysX是基于GPU运算的,恰恰GPU的并行运算能力是非常强的,因此NVIDIA找到了这个突破口,并且成功的转化为自己的卖点。

 

SLI同样可以提升PhysX游戏的帧数

如果说用同样的钱来获取最高的性能,笔者认为双卡SLI是最合适的,不差钱买GTX590的那是极少数。

双卡SLI,拥有独立的供电和散热系统,可以使两片显卡稳定的运行在高频率下,性能要比双芯卡高上不少,而且显卡本身的良品率和使用过程中的故障率都得到明显的改善。

SLI是获得高性能的最佳方案

就拿双路SLI来说,就像孕育婴儿一样,优良的基因孕育出的第二代才能更完美。两块显卡本身必须要是中高端,再者主板平台至少至少要给出两条PCI-E 2.0 8×的接口总线,否则会影响SLI的效果。

PhysX运算更多的是占用流处理器,它实际上是对游戏中需要做处理的物体运行轨迹或者说是坐标做即时的计算,双卡的情况下,其中一块卡可以将这一项处理任务分出来单独运算,一样可以达到提升帧数的作用。

在运行PhysX游戏的时候,默认的情况下是副卡来做PhysX运算处理器:

SLI是分帧渲染机制,也就是说在驱动的指派下,如果一个10帧的3D渲染请求,主卡渲染1,3,5,7,9,那么副卡理所当然的渲染2,4,6,8,10,也就是两块卡在一半的时间内就完成了全部的渲染工作,理论上是将效率提升一倍,当然仅仅是理论上,因为副卡与主卡之间还存在着一个数据即时合并的工作。

这样的运算机制虽然效率是最高的,但是会有以下几点问题:双卡的数据既然是同步的,那么不管是PCI-E总线带宽,还是主卡的渲染+合并计算能力,副卡的渲染+物理计算能力都是与实际的性能表现息息相关的。

“前戏”进行了这么久,可以将话题转入正题了:怎样才能最流畅的运行PhysX游戏?通过测试可以为正在迷惑不解或打算投资的网友指明道路。

测试平台:

测试平台

索泰GTX570Ti

映众GTX560Ti冰龙版

技嘉GTX550Ti

为了保证绝对的稳定和统一,参评显卡一概选用一线大厂以及AIC等获得NVIDIA资质认证的品牌,并且为了尽可能的排除任何潜在的问题,SLI部分均采用同品牌同型号的显卡,笔者分别选择了两片索泰的GTX570公版,映众GTX560Ti冰龙版,以及技嘉GTX550Ti D5版。

测试平台选用Core i7 2600K@4.5GHz,内存双通道4GB,频率达成1866MHz@CL9,操作系统采用Windows 7旗舰版x64位,NVIDIA驱动为最新版的285.62WHQL版。

显卡强制开启抗锯齿和异性过滤

从中端到高端的双路SLI以及不同的设定所测得的成绩,并且对比单卡,从中找出最合适的搭配方案。

PhysX任务分配有多种

组建SLI之后,系统默认的情况下是将副卡,作为PhysX运算处理器,与手动设置副卡为PhysX运算处理器效果是一样的,下面的截图有详细的说明:

默认设定

当然你可以手动设定副卡专门做PhysX计算,也就是说此时已经并非渲染级SLI了,副卡将所有的单元用于PhysX计算,它运算好之后的“坐标”数据再汇入主卡中。下图可以很好的说明问题:

副卡专供PhysX计算

上图即便是达到最佳3D性能的设置,绿色链接的SLI条也已经不见了,第二张显卡专用于做物理计算。

还有一种方案是将主卡作为PhysX计算卡:

主卡作为PhysX处理器

当然主卡是负责汇总合并并输出的,因此不能像副卡那样设为专用于PhysX计算。

由2K Czech开发的PC/PS3/Xbox 360黑帮游戏《黑手党2》(Mafia II),带领玩家进入1940年至1950年虚构的地下世界,就像好莱坞电影般的游戏世界,玩家可在拟真的城市中冒险。2在《黑手党》受到全球超过200万玩家欢迎的基础上,2K Czech开始制作描述无情黑帮社会的《黑手党2》,游戏采用2K Czech专为《黑手党2》打造的次世代游戏引擎和NVIDIA PhysX物理加速引擎,带领玩家在细致的游戏画面中、深入不为人知的黑帮世界,为了生存而必须进行残酷的争斗。

先给大家提供一个单卡的测试成绩:

在单卡的情况下,GTX570也无法胜任,40多帧的流畅度可以说是慢慢满足最低需求,而且定位虽然是依次以千元递减,但GTX560Ti和GTX570在游戏中的表现几乎一样,但是GTX550Ti就下降的很严重,也就是说目前GTX550Ti单卡是无法在1920*1080 4XAA/16XAF下流畅运行PhysX游戏的。

主卡PhysX为最佳设定

GTX570 SLI三种设定成绩合成图:

GTX560Ti SLI三种设定成绩合成图:

GTX550Ti SLI三种设定成绩合成图:

我们看到副卡独立做PhysX运算反而是效果最差的设定方案,最好的是将主卡设定为PhysX处理器的SLI方案,虽然和副卡做PhysX运算的结果相比领先幅度不是太大,但是可以表明这种方法是最优化。越是低阶的显卡,设定不当所造成的差距就越大。

大马拉小车效果怎么样?

GTX570+GTX550Ti和GTX560TiSLI的成本差不多,大马拉小车能否突破帧数极限?

将GTX570作为渲染+合并主卡,GTX550Ti作为PhysX专属计算卡

和单GTX570无异

这种设定方案下的帧数和单卡GTX570跑出来的是一样的,这种方案可以排除。

小马拉大车又如何?

GTX550Ti做渲染+合并主卡,GTX570做PhysX专属计算卡

成绩仅稍优于单卡GTX550Ti

换做强大的GTX570也不能给PhysX游戏提速,这和SLI和PhysX的渲染机制有莫大的关系。

《黑手党2》是一个物理计算量远超于渲染计算量的游戏,从Benchmark里就能看的出为了体现PhysX所带来的逼真景象而大量涌现的玻璃碎渣以及碎石块等特效,也就是说这是在重物理,轻渲染的PhysX游戏。那么如果重渲染,轻物理,或者是物理和渲染势均力敌的情况下,这又该如何搭配呢?

实战《蝙蝠侠2》&《全球使命》

《全球使命》这款游戏除了是第一款采用虚幻III引擎技术开发的第三人称设计网游之外,它还是第一款采用物理加速的网游,利用物理加速技术,可以让战场中的各种效果更加逼真生动。

《全球使命》

 GTX550Ti单卡无法流畅游戏

GTX550Ti单卡显然是无法在开启PhysX下正常的游戏,物理计算和渲染计算加一起,负担并不轻。

《全球使命》对于GTX550Ti这种级别的卡,渲染量还是相对大了点,因此没有像《黑手党2》那样,反而是相反的,除了单卡以外,SLI下主卡做PhysX计算反而是最差的效果。但即便副卡专做PhysX计算,仍然刚刚超出30帧,并且最小帧仅为13,游戏感受极其不好。

《蝙蝠侠2:阿甘之城》是近期热门大作,它同样是基于PhysX和虚幻引擎而开发的。由于目前DX11方面的支持部分尚有欠缺。因此特效除了DX11,其他全开,当然垂直同步是需要关闭的。

GTX560Ti单卡在平均看来稍有欠缺

这里面效果最好的就是GTX560Ti副卡单专供与PhysX的设定,和全球使命的测试结果保证一致,它们有着相似之处,那就是物理计算比较繁杂,而且着色渲染任务也相当重,尤其是《蝙蝠侠2》电影级的特效,所以在这种情况下。

浅析SLI与PhysX之间的关系

两种组合方式我们都已经分析,也就是说不管物理计算和着色渲染计算孰轻孰重,主副卡均需要高性能的产品,这样才能在所有的物理游戏中通吃,想要华丽逼真的体验,必须舍得“放血”。

只要应用程序支持的情况下,SLI可以提供倍于单卡的性能,包括在PhysX计算方面,但是为何只有高端显卡才能体现出SLI的威力?如果想玩PhysX游戏,显卡我该怎么选?

默认情况下的设定是这样的:

默认情况下的情况

上图上文已经提到,两颗GPU接受来自驱动所指派来的渲染数据,按默认的情况下,即副卡为PhysX计算卡,兼顾SLI常规渲染,那么副卡将抽出一部分流处理器做PhysX计算,剩下的部分做渲染计算,同样是驱动的调度下将副卡和“物理”数据由SLI桥传至主卡,主卡会先将副卡中常规渲染合并在一起,通俗点讲也就是先弄出个“形”来,再将物体的物理轨迹数据合并到这个已经成“形”的帧中,这就完成了这一帧的渲染。

主卡做PhysX计算时

同样的原理,主卡要划拨出一部分流处理器来做PhysX运算,而剩下的单元用作常规渲染+数据合并,副卡完全做常规着色渲染,同样是将数据传入主卡中进行汇总合并,但不同的是这次“物理”部分的数据就在主卡中,不需要通过外部总线来传输,可以直接在芯片内合成,芯片内部的带宽以及延迟优势可想而知,因此主卡作为PhysX计算处理器是针对在渲染部分不太重的游戏中最佳的设定方案。

那么有网友疑问,主卡既要负责PhysX,又要负责常规渲染和合并数据,负载量相当大,为什么速度还是最快?其一:芯片内部带宽高达几百GB每秒,包括访问延迟都是极低的,副卡以及涉及到的总线部分全部服务于着色渲染,再者,不管是副卡全部资源和主卡剩余资源SLI着色渲染,还是主卡全部资源和副卡剩余资源SLI做着色渲染,资源总量是一定的,这就好比3+3=3+3,或者说3+5=5+3的道理一样。

SLI下副卡仅作PhysX计算时(其实此时已经不能称之为SLI了),主卡全部用于常规着色渲染,副卡用于计算大量的物理轨迹和坐标数据。

副卡专做PhysX计算

如果不单独制定副卡为PhysX计算处理器,那么副卡仍然会调拨出一部分资源去负担渲染计算,剩余的资源才会用于PhysX计算,这样的话即便诸如顶点着色的常规渲染运算的再快,也需要“等”副卡的物理坐标,势必造成瓶颈,因此SLI反而不如指定副卡单独做PhysX游戏速度快。

以目前来说,PhysX游戏还是相对贵族化,因为在显卡上的投资真心不少,不过确实能够带来最真实的游戏体验,但并不是你所有的投资只花在了PhysX上,用NVIDIA的说法:“这是送给大家“免费”的礼物”。虽说大家都明白“羊毛出在羊身上”这个道理,但从目前N/A对应定位的产品价格上看,NVIDIA所言不虚。

一块高,一块低的组合方式显然不适合所有的游戏,本着性价比和全能的角度来说,GTX560TiSLI才是最合适的选择。 

返回原文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑