PhysX by Nvidia

 

2008年,在Intel收购了物理引擎界的领军者Havok后,Nvidia也收购了排名第二的AGEIA。正式将PhysX技术划入旗下。

nVIDIA PhysX承袭自AGEIA PhysX,但Nvidia在此基础上推出了nVIDIA PhysX物理加速,并将PhysX物理加速功能移植到nVIDIA GPU中,用户不必额外购买PhysX物理加速卡就能享受到PhysX物理加速功能。借助CUDA架构nVIDIA重新编写了PhysX物理加速程序,将PhysX物理加速引擎从AGEIA PPU移植到了nVIDIA GPU上。

  通过重新编写程序,nVIDIA GPU中的线程调度器将承担原来PPU控制引擎的工作,即负责具体任务的指派工作;流处理器将承担原来PPU矢量处理引擎的工作,即负责物理计算;在物理计算完成后,由DME来负责输出;而后,GPU再通过硬件抽象层实现布料模拟、毛发模拟、碰撞侦测、流体力学等物理技术。简而言之,就是利用CUDA,将PhysX引擎中的计算指令,翻译给GPU,让GPU去计算。这样做是因为GPU具有优秀的浮点计算能力和并行处理能力。[2]

  通过这种方法,Nvidia Geforce 8系列,9系列,GT200系列,GT300系列,GT400GT500系列桌面显卡Geforce 8M系列,9M系列,GT100M系列,GT200M系列,GT300M系列,GT400MGT500M系列移动版显卡;基于同一渲染架构的nVIDIA Quardo系列专业绘图显卡;ION离子平台,只要流处理器大于32个且显存大于256MB,都可以支持PhysX物理引擎的计算,也就是支持PhysX物理加速。

  所谓PhysX物理加速,是指相对于CPU来讲,GPU加快了PhysX物理引擎的计算速度。并不是说PhysX引擎只能由nVIDIA GPU处理。

  Nvidia曾承诺PhysX加速技术是公开的,且支持第三方厂商让PhysX运行在竞争对手ATI显卡上,然而当2010ATI HD5000系列产品全线对Nvidia形成优势时,Nvidia又表示PhysX加速技术只能运行在自家的显卡上。可以说PhysX物理加速已经成为了Nvidia显卡产品线上被竞争对手力压后,唯一可以用来反击的技术手段。

  在设计上,Nvidia显卡是同时进行3D计算和物理计算,且显卡不断的在3D计算和物理计算模式间切换。目前的显卡已经被高分辨率、高全屏抗锯齿等压的喘不过气来,根本没有剩余精力再去计算PhysX指令。因此主流的单显卡运行PhysX游戏,虽然效果上更加逼真,但根本达不到流畅标准,得不偿失。除非是双卡SLI,或顶级显卡(如GTX295GTX480等),才有足够精力去做物理计算。

  Physx的未来完全掌握于NVIDIA之手。目前Physx仅仅是作为NVIDIA宣传自家显卡的卖点。应用程序常见于虚幻3引擎,由于NVIDIA公司推行的游戏之路计划,NVIDIA会极力撮合使用虚幻3引擎的游戏开发商支持Physx ,同时扩展其它游戏引擎

  能够使用显卡加速的Physx的优点也是最大的缺点。因为必选要有一块支持CUDANVIDIA显卡。面对ATI显卡的竞争,消费者对NVIDIA劣化Physx CPU处理能力,突出自家显卡的做法颇有微词。

  另外Physx的竞争对手Havok再被Intel收购后也得到大力发展,应用的游戏数量远远超过PhysxHavok引擎具有嵌入性和高效性的特点,随着CPU多线程技术的发展,其仅依靠CPU就能带来良好的物理效果。此外intel宣称Havok可以免费使用后,NVIDIA也宣称Physx在一定范围内免费开放。

  Physx是仅仅作为NVIDIA显卡的卖点来应付来自ATI的竞争,还是打算长久的开发下去我们拭目以待。

你可能感兴趣的:(PhysX)