amd吧 关注:781,485贴子:17,914,330

还有人在讨论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回复
    原来如此!


    IP属地:江西来自Android客户端2楼2012-10-04 09:58
    回复
      “应用PhysX物理加速的程序将不100%兼容PhysX物理加速卡。”
      那为什么百度百科“PhsyX”里的游戏中有支持物理加速卡的?不是100%不支持吗

      


      3楼2012-10-04 14:21
      收起回复
        回复 度娘号都有人偷 :
        理由很简单



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


        IP属地:辽宁4楼2012-10-04 15:05
        收起回复
          本来认为很简单,看了之后又觉得复杂了


          IP属地:山东5楼2012-10-04 15:20
          收起回复
            回复 421140953 :
            我就喜欢嘴硬的“因为英伟达后来出了一个东西叫物理加速卡,这张卡仅仅提供物理加速运算”,这句话是你说的,我只是告诉你PhysX物理加速卡是AGEIA出的而不是NVIDIA,你怎么就不能理解呢?

            -------------------

            --------------


            6楼2012-10-04 15:22
            收起回复
              @421140953 @度娘号都有人偷
              你俩出去单聊行吗,我8级够用了


              IP属地:辽宁7楼2012-10-04 15:48
              收起回复
                提醒一下,这一贴子的楼主在认识上也出现了错误,下面我截两张百度百科的图片来给大家看看


                从这里,已经可以看到了,物理加速就是物理加速,物理引擎就是物理引擎,并且还解释了何为物理加速
                还有一点,AMD不得不跟着英特尔做Havok,因为Havok的主要运算者是CPU,而AMD刚好有CPU方面的业务,英伟达则不同了,他没有桌面平台的处理器,他只能以显卡平台来发PX,也由于他没有桌面平台的处理器,所以Havok特效他无法共同去搞,但是有一点,那就是即使他搞的是PX,那么使用他的显卡除了能享受PX特效以外,Havok特效是一样的能享受,因为CPU是所有用户都有的,也正因为CPU是所有用户都有的,Havok特效也才能得到广泛的发展,同时,AMD也搞过专门由显卡来承担的物理特效,但是大家都看到了,他没有能搞起来


                IP属地:云南8楼2012-10-04 15:59
                收起回复
                  看完迷茫,不明觉厉。


                  IP属地:广东来自手机贴吧9楼2012-10-04 16:09
                  回复
                    回复 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物理引擎在设计上就并不适合用CPU去计算,那CPU计算效率又如何能高呢?


                      IP属地:云南11楼2012-10-04 19:18
                      收起回复
                        PhysX 唯一然NV雄起的软件。没有这个功能连渣都不是


                        本楼含有高级字体12楼2012-10-04 20:22
                        回复
                          专家披Nvidia PhysX“放水”内幕:CPU竟只能运行于单线程和x87指令集模式下
                          www.cnbeta.com/articles/115753.htm


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


                            IP属地:辽宁14楼2012-10-06 20:10
                            回复
                              我想说的是英伟达控制面板有两个设置一个是3D设置 还一个就是PhysX设置 两个的区别在哪里 哪个更效率而且不占资源


                              IP属地:江苏16楼2012-11-17 13:22
                              回复