物理处理器是计算机专门用来处理物理运算的微型
处理器,尤其应用在
电子游戏上。物理学上的
刚体动力学、碰撞侦测、流体力学、头发模拟、衣物模拟和对象破坏等效果,均可以这种处理器进行运算。这个概念源自于减轻
中央处理器(
CPU)的负担,和使用
显示核心取代CPU进行绘图运算的原理一样。有关物理数据也可以单纯以一般的
CPU去计算,但在速度方面会比PPU慢得多。
第一个物理处理器为SPARTA and HELLAS。物理处理器这个词语来自
AGEIA对于他们的产品-PhysX的营销术语,接着有数个方案亦使用了类似的科技,但AGEIA仍然是支持最完整的物理处理器。正因为PPU能填补现有3D游戏在物理效果上的不足之处,因此PPU的推出,定会为3D游戏带来重大变化。
首款推出市面的PPU,是由
AGEIA公司开发的
PhysX芯片。想要支持AGEIA PhysX的功能必须使用专属的Novodex开发工具来编程,Novodex虽能应用在一般硬件上,利用CPU作软件运算,但应用在PhysX上物理处理器仍是最佳。
2005年7月20日,
日本的新力公司与AGEIA签约,在
PlayStation 3游戏机使用Novodex SDK,而微软也为
Xbox 360的开发工具加入Novodex。而3DMark06也内置测试物理卡的环节。
使用PhysX PPU的物理卡,会由多家公司生产,就像现时的显卡。
华硕和
美国的BFG是主要的生产商,这些PPU物理卡会先在
戴尔的原厂计算机中使用,直至2006年5月正式单独发售。
2008年2月4日,AGEIA公司正式被
nVIDIA公司收购,AGEIA公司技术将被大量应用在
nVIDIA公司自家的
CUDA运算技术中。将来,支持CUDA技术的显卡,就可以直接硬件支持PhysX加速。
在NVIDIA收购AGEIA后,总裁
黄仁勋如此评价后者:“AGEIA公司的团队是世界级的,他们拥有和我们同样的激情,创造最令人惊叹与最有魅力的游戏体验。通过创造世界上最深入人心的
显示核心和
物理引擎的强强联手,我们可以将
GeForce加速的
PhysX技术带给全世界数以百万计的游戏玩家。
GPGPU的趋势让GPU越来越适合进行物理运算,
DirectX10更增加了几何着色器提供大量的运算方式可以被套用。NVIDIA的
CUDA技术也提供了控制GPU的内部沟通和联合运算。
Havok开发工具(SDK)是PhysX开发工具的主要竞争者,被用于约150个游戏中。为了和PhysX竞争,Havok FX可以使用多绘图处理器的技术来加速物理计算,包括了
NVIDIA的
SLI和
ATI的CrossFire。Havok将物理运算分为特效和游戏运算,特效运算(如爆炸时的烟雾)将会由GPU的Shader Model 3.0来进行运算,进而减轻CPU的负担。而游戏物理运算则仍然由CPU处理。由于
英特尔收购了Havok,前者显然希望物理计算由CPU负责,所以由显卡加速Havok FX的开发似乎已经被取消。
Havok面对
AGEIA的冲击,将Havok FX物理引擎改造,使之能由显卡硬件处理。根据示范视频,使用显卡的物理运算效果,与独立的一张PhysX卡不相伯仲。而nVidia亦抢先ATi一步,宣伂与Havok合作。配合nVidia的
SLi技术,一张显卡能作立体运算,另一张能作物理运算。据了解,nVidia也会引用ATi的三卡方案,两张显卡会在立体计算,另外的一张作独立的物理计算。由于AGEIA公司已被
nVIDIA公司收购,后者应该会转用PhysX方案。而NVIDIA亦表明,PhysX的
硬件加速会改由显卡负责。
面对nVidia的挑战,ATi亦不甘示弱,亦宣伂与Havok合作。由于物理运算部分由像素着色器处理,由于X1900XT的像素着色组件达48个之多,物理运算性能应较nVidia顶级的GeForce 7900强。另外,在
AMD Fusion方案中,GPU将会以向量补助运算器的方式来和CPU运算作更紧密的结合。这个配置也非常有可能成为PPU的角色。
Intel的Larrabee技术是个运算能力最优化的多核心
x86构造,有可能成为PPU的角色。Intel已经确认Larrabee技术的存储器架构将会类似CPU的缓存结构,但是它也提供对高速缓存控制的指令。
在
PlayStation 3(PS3)内的Cell处理器运作方式类似AGEIA的PhysX处理器。与ATI/NVidia的GPGPU解决方案不同的是,它使用了数个平行的线程,每个线程都有大型运算单位,并且线程之间有更多的沟通和控制。
PlayStation 2(PS2)的VU0可以被视为早期PPU应用的发展,VU0可以取代CPU来做额外的AI和物理运算,但也支持额外的顶点运算,让他成为一种额外的补助器而不是一个独立的单元(Unit)。VU0的用途类似于Havok FX和GPU的物理运算。