VideoCard 板


LINE

(图文) http://financenews.sina.com/sinacn/304-000-106-109/2008-06-30/2046826610.html Havok VS PhysX 漫谈物理加速世界! 2008-06-30 20:46:30 作者:小熊在线-孤竹の子 物理大战新篇章   2008年6月,NVIDIA与AMD-ATI先後发布了自家新一代高阶产品GT200(GeForce GTX 280/260)与RV770(Radeon HD 4850/4870),我们在惊诧于新产品的极限性能时,众多 新技术引用也是玩家关注的重点,例如NVIDIA的CUDA架构,AMD-ATI的GPGPU解决方案等。 在众多的技术当中,物理加速技术由于震撼的视觉体验及两家不同的解决方案再次成为了 人们关注的焦点。 http://images2.sina.com/newscenter/cr/2008/0630/3474720608.jpg
  NVIDIA发布的CUDA 2.0开发包中蕴含了PhysX物理加速技术,NVIDIA的意向是使用GPU 通过CUDA架构来实现物理加速;而作为同时拥有CPU与GPU业务的AMD自然会选择CPU+GPU为 主导的Havok物理引擎。2007年9月Intel闪电收购Havok之後,NVIDIA与AMD-ATI的GPU物理 加速计算就显得非常尴尬,因为Intel收购Havok的目的就是使Havok引擎专注于CPU物理运 算,为了对抗Intel(亦或是说CPU),NVIDIA收购了Ageia及其PhysX引擎,使PhysX引擎 专注于GPU物理运算。AMD-ATI如何选择物理加速方案在RV770之前业界充满了猜测,因为 无论是Havok还是PhysX引擎,都是竞争对手的产品,而为了AMD更加长远的Fusion计划, AMD-ATI最终选择了前者。 http://images2.sina.com/newscenter/cr/2008/0630/1434870327.jpg
  物理加速技术在2006年Ageia发布物理PhysX加速卡时被人们所关注,甚至有人笑称3D 加速成就了3DFX,而物理加速将成就Ageia,但是由于Ageia采用的是PhysX硬件物理卡加 速方式,而物理卡又价格不菲,虽然Ageia也出售PhysX引擎,但是由于没有PhysX硬件加 速卡支持的话效率会降低,在加上NVIDIA与AMD-ATI当时都采用了Havok引擎作为标准,因 此一直没有受到游戏开发商及广大玩家的重视。而Havok引擎在很长一段时间都是致力于 CPU软件加速,但是随着Havok 4.0工具中Havok FX的发布就不一样了,Havok FX引擎是通 过GPU来进行物理加速,主要针对当时的PhysX引擎。   关于GPU与CPU在做物理运算时的差距这里就不多做介绍了,有很多这方面的文章可寻 ,总体来说GPU运行物理运算可以是四核CPU的十几倍到几十倍不等,比PPU有几倍到几十 倍的性能提升。而我们这里主要探讨的NVIDIA与AMD-ATI GPU加速昨天、今天与明天! 昨天─殊归同途的Havok FX引擎   Havok FX发布于2006年中,前文已经提到,Havok FX引擎是通过GPU来进行物理加速 ,当时的NVIDIA与AMD-ATI都不约而同的支持Havok FX引擎,首先来看NVIDIA的NVIDIA SLI Physics技术,NVIDIA是采用SLI模式的第二块显卡来进行物理加速。 http://images2.sina.com/newscenter/cr/2008/0630/1102043780.jpg
  从上图中可以看出,Havok FX API通过DirectX将数据发给GPU驱动,如果游戏或者驱 动不支持SLI物理,那麽将不会发送物理数据,反之则交给GPU 2进行物理计算,计算结果 则返回给Havok API。   与NVIDIA的物理解决方案类似,AMD-ATI同样采用Havok FX引擎,同样基于多卡互联 CrossFire来实现物理加速,第二块显卡来进行GPU物理加速。 http://images2.sina.com/newscenter/cr/2008/0630/735875314.jpg
  当时AMD-ATI的X1000系列GPU的设计理念是搭建智能化的芯片架构,使得芯片内部的 运算灵活性增强,根据外部接口API的不同,可以实现完全不同的运算任务,并且命名为 DPP(Data Parallel Processing )并行数据处理架构。   虽然同样采用了Havok FX引擎,并且都是双卡互联形式实现,但是两家的解决方案却 大相径庭:NVIDIA是通过DirectX API来实现物理加速,而AMD-ATI则是通过数据并行计算 架构提取(Data Parallel Processing Architecture Abstraction )直接与Havok FX引 擎交换数据,让Havok FX引擎直接与GPU沟通,而不需要通过Direct3D和OpenGL API, AMD-ATI着名的Close To Metal(CTM)接口就是在这个时期提出的。简单的理解就是, AMD-ATI的实现方式是“GPGPU”通用计算的形式来做物理运算,而NVIDIA是让显卡通过 DirectX以“GPU”的工作方式在做物理加速(其实也是GPGPU应用范畴)。   至于两种方案的优劣其实讨论起来真的没有意义,因为实际上除了NVIDIA与AMD-ATI 自家演示的小DEMO与视频之外,目前支持GPU物理加速的游戏几乎没有,大部分使用到物 理加速的游戏还都是使用CPU物理加速的方式,包括我们熟知顶级大作《Crysis》、《使 命召唤4:现代战争》等等…… 今天─PhysX决战Havok FX   当NVIDIA宣布CUDA集成PhysX物理引擎时,很多人都会认为PhysX引擎只支持GPU物理 加速技术,这也是AMD-ATI选择Havok FX引擎的主要原因。然而实际上PhysX引擎最初是只 支持CPU与PPU,而不支持GPU,即使是融入CUDA之後,PhysX引擎也仍然支持CPU物理加速 。之所以给人PhysX引擎只支持GPU物理加速的错觉,是因为NVIDIA表示今後将大力发展 GPU物理加速,但这并不表示PhysX引擎排斥CPU或者CPU+GPU的解决方案。 http://images2.sina.com/newscenter/cr/2008/0630/3053286272.jpg
  无论是GPU还是CPU、PPU、Cell(PS3)都可以通过HAL翻译层来实现软、固质体动力 (Soft or Rigid Body Dynamics)、通用碰撞侦测(Universal Collision Detection)、有 限元素分析(Finite Element Analysis)、流体动力(Fluid Dynamics)、毛发模拟(Hair Simulation)以及更先进的布料模拟(Cloth Simulation)、自然模拟(Natural Motion) 等在内新颖技术。   通过CUDA通用接口,PhysX引擎将NVIDIA GPU中的Thread Scheduler(线程管理器) 模拟成Control Engine(控制引擎CE),而Streaming Processors来模拟Vector Processing Engine(矢量处理引擎,VPE),其中CE控制引擎负责任务的指派,相当于PhysX 中的主管机构,而真正的物理运算任务则是由VPE矢量引擎来完成,最後通过Data Movement Engine(数据移动引擎DME)输出。关于最新GT200物理运算的优势已经被NVIDIA 吹的天花乱坠,这里就不多介绍了,感兴趣的朋友参见《NVIDIA夺面双雄 GT200全球同步 首测》一文。   而AMD-ATI则继续选择Havok FX引擎,不过RV770系列实现物理加速的方法也已经不同 于之前的CrossFire双卡解决方案,之前Radeon X1000系列是通过据并行计算架构提取直 接与Havok FX引擎相连接(其实也可以通过Direct3D和OpenGL API),然而由于对抗CUDA 的原因,AMD-ATI也需要自己的GPGPU规范,而AMD-ATI则选择了苹果公司力推的通用计算 行业标准OpenCL,它能与图形硬件及多核CPU相协调以提高系统的整体性能,而AMD-ATI的 Havok物理加速技术就是基于CAL/Brook+的。 http://images2.sina.com/newscenter/cr/2008/0630/3875924325.jpg
  实质上讲无论是CTM接口,还是现在的CAL/Beook+,AMD-ATI执行物理加速的概念都没 有变,那就是GPGPU的并行能力进行物理运算,而NVIDIA方面可以真正称的上市GPGPU物理 加速还是从CUDA开始的。另外我们也注意到,之前无论NVIDIA还是AMD-ATI在展示自己物 理运算时都是基于双卡技术,而如今他们更愿意谈论单卡。 明天─技术与现实之间的抉择   那麽物理加速技术的明天到底是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加速上,我们先来看一下最简单的物理加速 计算过程。   无论PhysX引擎还是Havok引擎物理计算都基于以下步骤:   Integrate整合初步计算 Collide碰撞判定 Solve Collisions碰撞结果计算   在Integrate整合初步计算阶段,进行物理对象的一些初始物理状态的初始化,包括 速度、加速度等各项信息,为後面的运算做准备。Collide 碰撞判定进行一些对象之间的 碰撞检测,并以对的形式进行处理(因为碰撞总是两个物体相互的),Solve Collisions 碰撞结果计算阶段则是对碰撞的後处理,包括碰撞後的速度等。Solve Collisions碰撞结 果计算阶段是最复杂的,那麽我们可以看出物理计算是一个对并行计算非常依赖的运算。 http://images2.sina.com/newscenter/cr/2008/0630/278219283.jpg
Solve Collisions   我们看到,物理运算所需的大量并行计算正是GPU所具备的优势,利用GPU做物理运算 确实是天经地义的事,那麽是不是说物理计算目前就是该由GPU来负责呢?在回答这个问 题之前我们先来看一下NVIDIA在近期发布的PhysX驱动,搭配PhysX驱动在运行3DMark Vantage CUP测试第二个场景的时候,由于GPU接替(或者说是加速)物理运算,使这个场 景成绩暴增,可以看出GPU取代CPU物理加速时的决定性优势,而在NVIDIA最新发布虚幻3 物理地图演示中,我们却可以看到如下的成绩: http://images2.sina.com/newscenter/cr/2008/0630/1190808272.jpg
1680×1050 http://images2.sina.com/newscenter/cr/2008/0630/3747144617.jpg
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协同操作,总之,一切皆有可能,我们拭目以待…… 相关文章: NV与Intel的决斗!显卡的未来不属于AMD http://financenews.sina.com/sinacn/304-000-106-109/2008-03-02/1853718849.html PhysX物理战争,GeForce大战AGEIA物理加速卡。 http://www.50fs.tw/fstw/news/tonews.action?n=6987 -- _ˍˍˍˍˍˍˍ/\ˍˍˍ/\ˍˍˍ//\/\ˍˍˍ/\/\//\ˍˍˍˍˍˍ_ __ˍˍˍˍˍˍ/\ˍˍˍ/\ˍ_ˍ/\ˍˍˍ/\ˍˍˍˍˍ_/\ˍˍˍˍˍ_ˍˍ_ _ˍˍˍˍˍˍ//\/\/\ˍˍˍ_//\ˍˍˍˍˍˍˍˍ/\ˍˍˍˍˍˍˍ_ˍ_ _ˍ_ˍˍˍˍ/\ˍˍˍ/\ˍˍˍˍˍ_//\ˍˍˍˍˍ_/\ˍˍˍˍˍˍˍˍ_ˍ_ _ˍˍˍˍˍ/\ˍˍˍ/\ˍˍˍ/\ˍˍˍ/\ˍˍˍ_/\ˍˍˍˍˍˍˍˍˍ_ˍ_ __ˍˍˍˍ/\ˍˍˍ/\ˍˍˍˍ_//\/\ˍˍˍ//\/\/\ˍˍˍˍˍˍˍ_ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.68.80.80
1F:→ hsz0566:打算用消费劵买二手ASUS PhysX P1物理加速卡...XD 01/18 18:16
2F:→ hsz0566:於是找了些资料 分享过来~ 01/18 18:16
3F:推 steve90370:好文!有看有推! 01/18 18:39
4F:推 pipi5867:nv真正要担心的是被这两大cpu&晶片组厂商玩.. 01/18 19:35
5F:推 netsphere:PhysX物理减速卡 01/18 20:04
6F:→ hsz0566:对ATi的用户而言还是加速卡啦 只是爽度没nV高阶卡高 XDD 01/18 20:18
7F:推 sdk:CUDA PhysX应该不支援rigid body cd...只有soft body... 01/18 23:07
8F:→ VictorTom:推一个 01/19 00:20
9F:→ dkab:希望对您有帮助 http://www.94istudy.com 05/27 13:38







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP