amd吧 关注:804,981贴子:18,609,716
  • 4回复贴,共1

还有人在讨论PhysX是什么 其实PhysX很简单 只是让NVIDIA搞复杂了

取消只看楼主收藏回复

PhysX:全称PhysX物理计算引擎,是一套由AGEIA公司开发的物理计算引擎,为世界三大物理引擎之一。PhysX可以由CPU计算,但引擎在设计上还可以调用独立的浮点处理器(PPU和GPU)。引擎涵盖全平台,不止在PC领域,家用机、MAC甚至移动设备都可以用。
PhysX物理加速卡:由于PhysX引擎对浮点计算能力要求较高,所以为了提高PhysX效果,AGEIA专门为PhysX物理引擎设计了独立的加速卡,加速卡的核心被成为PPU(Physics processing Unit)。PPU不参与任何3D计算,专职计算PhysX引擎。
PhysX物理加速:全称NVIDIA PhysX物理加速。2008年NVIDIA收购了AGEIA公司,承袭了PhysX技术,并在AGEIA PhysX技术的基础上推出了PhysX物理加速技术。借助CUDA架构,NVIDIA重新编写了程序,将PhysX物理引擎从AGEIA PPU移植到了NVIDIA GPU上。应用PhysX物理加速的程序将不100%兼容PhysX物理加速卡。
小常识:使用PhysX物理引擎的游戏,如果设置之初就指定由CPU计算的话,该游戏无法使用NVIDIA GPU进行计算,但可以使用PhysX物理加速卡,原因就是PhysX物理加速是通过改写程序实现的,所以无法全兼容。目前PC平台上使用PhysX的游戏已超过300款,其中只有20款左右使用了PhysX物理加速技术,其余的全部不支持NVIDIA GPU计算。
看到这里相信大家已经很清楚了,PhysX物理加速是改写PhysX物理引擎得来的,二者不能互相兼容,所以在讨论PhysX时一定要区分二者,否则就会出鸡同鸭讲的情况。


IP属地:辽宁1楼2012-10-04 09:56回复
    回复 度娘号都有人偷 :
    理由很简单



    类似上面那几个游戏,这些游戏并未单独使用NVIDIA提供的PhysX物理加速程序,正如有些游戏同时支持PhysX GPU和CPU一样,引擎被杂交甚至修改过,所以能提升兼容性。


    IP属地:辽宁4楼2012-10-04 15:05
    收起回复
      2026-03-08 16:19:55
      广告
      不感兴趣
      开通SVIP免广告
      @421140953 @度娘号都有人偷
      你俩出去单聊行吗,我8级够用了


      IP属地:辽宁7楼2012-10-04 15:48
      收起回复
        回复 8楼
        @421140953
        我不知道你有没有认真看我的帖子,大你画红线的那句话你肯定没理解。如果PhysX物理引擎中的指令可以直接转换成CUDA可处理的数据,那么为什么90%以上使用PhysX物理引擎的游戏不可以用CUDA处理呢?
        红线上那句话道出了PhysX物理加速实现的原理,也是CUDA处理数据的原理,归根究底就是通用计算的原理。把数据转换成GPU可以处理的形式,GPU处理后再将数据转换成CPU可以处理的形式,这就是通用计算的过程。
        PhysX物理加速改写了程序才从PPU移植到了GPU(CUDA)上,而不是通过外部程序将PhysX物理引擎中的指令转换成GPU可处理的形式,这一点你的理解完全错误。
        -------
        再来就是Havok的问题,Havok设计时也可以调用GPU。只不过INTEL没有独立显卡,收购Havok后自然不会过多关注Havok如何利用GPU的问题。再者INTEL认为现阶段游戏在运行时CPU往往比较空闲,GPU则比较繁忙,所以大多数游戏选择了合理利用空闲的CPU来完成物理效果的方式。而且PhysX物理引擎在CPU上的表现不是很差,并不像你所说的PhysX物理引擎在CPU上表现糟糕,表现糟糕的只有PhysX物理加速而已。其实这点不用我多说,可以与Havok并称世界三大物理引擎,并且是全平台的PhysX在CPU上的表现怎会如你所说?
        另外除了Havok和PhysX之外还有开源的Bullet物理引擎,AMD从来没跟INTEL走过,也没搞过专门的GPU计算物理效果,Havok更从来未对谁做过特殊照顾。而且Bullet还是AMD开放物理计划的成员之一,AMD为什么要围着Havok转?
        在多说几句,NVIDIA并不是因为自己没有CPU才搞封闭式GPU的PhysX。说白了NVIDIA的PhysX物理加速选择依附于CUDA它就是NVIDIA独占。选择依附于Direct Compute、OPENCL它就是GPU独占。当然它也可以选择对多核CPU进行优化,对CPU优化并不是难事,诸如地铁2033、蝙蝠侠阿卡姆之城已经证明了,华丽的PhysX物理加速效果是可以在多核CPU上运行的很好的。关键是看NVIDIA把PhysX物理加速定位在哪,现阶段NVIDIA只把PhysX物理加速作为打击竞争对手的手段,PhysX物理加速技术自然得不到充分的发展。


        IP属地:辽宁10楼2012-10-04 18:43
        收起回复
          又发现一个有趣的地方,据上古时代显卡吧某大雕透露。PhysX物理引擎中只有流体、粒子这类表层物理效果适合用GPU计算,其余的诸如布娃娃、物体碰撞等效果由于CPU计算和GPU计算无效率区别,所以为了减轻GPU负担和提升兼容性,大部分游戏对这类物理效果都选择由CPU来计算。
          这就是为什么通常PhysX物理加速游戏中PhysX开到最高后增加的都是碎纸片、玻璃渣、流体、爆炸、溅射、烟雾、布料之类的物理特性,而布娃娃、物体碰撞这类的特性毫无变化。


          IP属地:辽宁14楼2012-10-06 20:10
          回复