| 第4页:明天—技术与现实之间的抉择 |
那么物理加速技术的明天到底是Havok FX引擎还是PhysX引擎的天下?我们先来看一下双方的阵营:PhysX引擎目前只有NVIDIA一家支持,有消息称AMD-ATI目前也正在与NVIDIA商榷授权的问题,那么有可能AMD-ATI最终也支持PhysX引擎;Havok FX引擎目前已经得到AMD-ATI的支持,加上Havok的所有者Intel,目前构成了Intel+AMD-ATI对抗NVIDIA的局面。
物理加速阵营对比
|
|||
| 支持引擎 | 加速态度 | ||
Intel |
Havok |
CPU |
|
AMD-ATI |
Havok(PhysX引擎正在商榷) |
CPU+GPU |
|
NVIDIA |
PhysX引擎 |
GPU |
|
三方对于物理加速是由GPU还是由CPU执行的态度开篇已经阐明,实际上这场物理大战最终的抉择就是落在了到底是CPU加速还是GPU加速上,我们先来看一下最简单的物理加速计算过程。小熊在线www.beareyes.com.cn
无论PhysX引擎还是Havok引擎物理计算都基于以下步骤:
Integrate整合初步计算
Collide碰撞判定
Solve Collisions碰撞结果计算
在Integrate整合初步计算阶段,进行物理对象的一些初始物理状态的初始化,包括速度、加速度等各项信息,为后面的运算做准备。Collide 碰撞判定进行一些对象之间的碰撞检测,并以对的形式进行处理(因为碰撞总是两个物体相互的),Solve Collisions碰撞结果计算阶段则是对碰撞的后处理,包括碰撞后的速度等。Solve Collisions碰撞结果计算阶段是最复杂的,那么我们可以看出物理计算是一个对并行计算非常依赖的运算。小熊在线www.beareyes.com.cn

Solve Collisions
我们看到,物理运算所需的大量并行计算正是GPU所具备的优势,利用GPU做物理运算确实是天经地义的事,那么是不是说物理计算目前就是该由GPU来负责呢?在回答这个问题之前我们先来看一下NVIDIA在近期发布的PhysX驱动,搭配PhysX驱动在运行3DMark Vantage CUP测试第二个场景的时候,由于GPU接替(或者说是加速)物理运算,使这个场景成绩暴增,可以看出GPU取代CPU物理加速时的决定性优势,而在NVIDIA最新发布虚幻3物理地图演示中,我们却可以看到如下的成绩:

1680×1050

2560×1600
GPU进行物理加速在进行很少使用到图形渲染的3DMark Vantage CPU测试第二个场景,以及较低分辨率下进行游戏时,GPU物理加速确实效果令人满意,但是随着分辨率的增加,GPU物理加速在游戏中的表现就不在我们想象的那样完美,对比CPU加速,有些场景甚至还有成绩的下降!
这是游戏中GPU与CPU的关系决定的,在游戏中,显卡大多数时候都是在满负荷运行,这时根本无暇分身做物理运算!那么这时CPU在做什么?游戏是非抢占型程序,也就是说如果一般游戏不会全部榨干CPU性能,所以我们在进行游戏时经常看到CPU的占用率并非100%,如果是4核CPU而游戏又不支持多核的话,那么这时CPU的性能就在浪费!
实际的情况已经很明了,GPU确实非常做物理运算,但是实际情况却是GPU心有余而力不足,利用目前闲置的CPU来做物理加速似乎是最好的选择,而如果我们有两块显卡的话也许就解决了GPU自顾不暇的问题,这是不是让你想到了当初NVIDIA及AMD-ATI都不约而同选择Havok FX物理加速的原因——一块显卡做图形渲染,一块显卡做物理加速!
今后物理的发展最终走向何方?也许会是GPU强大到做物理加速如现在的视频解码,也许是今后游戏继续榨干显卡的性能,由多核CPU闲暇来做物理计算,也许是Fusion的CPU+GPU协同操作,总之,一切皆有可能,我们拭目以待……