游戏里的一堵墙爆炸了,砖头乱飞。每一块砖头飞行的方向、速度、姿态,是根据实际砖头的重量、形状、风速、冲击力、互相之间的碰撞真实计算出来的呢,还是预先录好一段动画,无论这堵墙的哪个位置爆炸,爆炸力多大,看到的都是同一段动画。前者就叫做物理模拟。没有“物理加速”这个术语,正确的术语是“硬件加速物理模拟”,就是用特定的硬件来加速物理模拟的计算过程。PhysX是一种物理模拟的实现和API。游戏开发的时候只要使用了PhysX的API,同时游戏运行的平台上也支持PhysX API,就可以在游戏中开启物理模拟效果——更真实的爆炸、水波、织物、桌椅板凳乱飞……PhysX当然可以用CPU实现。但是物理模拟计算需要大量的数学运算,会消耗CPU的计算能力。物理模拟运算量增加了,CPU用来处理图形和游戏逻辑的时间就减少了,游戏就更有可能不流畅。所以PhysX有基于CUDA的实现,把大量物理模拟的计算搬到GPU上来“加速”。但是同样的,物理模拟计算占用了GPU资源,GPU用于处理图形的计算能力就减少了。如果GPU足够强劲,在处理图形之外能力还有富裕,那么用来处理PhysX当然是很合算的。但是如果GPU不够强劲,处理图形之外再处理PhysX的物理模拟运算,就会拖慢整个游戏渲染过程。----------------------------- 吐槽的分割线 -----------------------------------最后,没看明白“PhysX是不是噱头”和“PhysX能不能用CPU实现”二者之间有什么逻辑联系。