或许“物理运算”这个词对很多玩家来说还显得些许陌生,又或许仅限于一种概念。而实际上,“物理运算”早已悄然走进我们的生活,只不过我们一直没有留意......
那什么是物理加速呢?其实物理运算主要负责两个工作:物体运动表现与物体间的交互性回应。比如:自由落体,粒子运动,流体运动,烟雾翻腾,风力运动,刚性物体之间的碰撞等等都属于物理运算解决的范畴。
在各种3D应用中,特别是在大型的3D游戏中,为了使游戏的画面更加真实,就会在游戏中设计许多接近现实的物理计算,比如:自由落体,物体运动,空气流动,力的反弹以及各种物体间碰撞等等。
在之前的传统的技术中,游戏的物理运算基本上是通过物理引擎加上CPU处理后的物理参数后再反馈到中游戏之中,这种方式往往在遇到大规模的物理运算时就会出现运算瓶颈,从而造成了游戏中一旦出现大量物理运算时帧数就会明显下降的问题。
为了彻底解决这一问题,其实也就是为了让游戏玩家更好地体验到各种逼真震撼的游戏场景,2005年美国某游戏开发者论坛上,一家名为Ageia的半导体公司推出了世界上第一颗专为还原真实物体特效的处理器,而这颗处理器取名为PPU(Physics Processing Unit)。
PPU直译为物理处理器,它是一种专门设计的用来加速物理模拟算法执行的处理器产品,它能加速的模拟算法包括刚体动力学、碰撞检测、流体模拟、软性物体和物体破裂模拟。通过这种硬件设备,我们能将现在计算机系统的中的处理器从其不擅长的物理模拟和人工智能算法中解放出来,让CPU、GPU和 PPU各自负责自己在游戏中最擅长的部分。PPU使得游戏角色和整个游戏场景有尽乎自然的交互性,把游戏画面呈现的物体都可以尽乎自然的方式进行操纵和影响。
PPU的处理技术和CPU其实是两个不同的运算概念,物理运算需要十分强大的整数及浮点运算能力支持,而PPU强大架构为这些分离提供了强大的优势,而PPU将原本使用软件技术并通过CPU运算处理的物理反应计算再提取出来,给专门负责物理运算的芯片来处理。这也就意味着3D运算必须交由CPU、PPU和GPU三者共同协作完成。
『物理加速卡』
而就现状而言,物理加速其实更多的被CPU所兼容,由于PPU价格定位上的原因,一般也只有高端用户才会装备这样一块单独的物理加速卡,一般通过特殊物理加速引擎的方式支持物理加速技术,不过由于CPU在承载浮点运算、流体特效、布料特效以及人体柔性特效等方面的能力也毕竟有限。