Box3D:用宽SIMD加速碰撞检测
SIMD for Collision

在 Box3D 中,我探索了如何利用宽 SIMD 技术优化碰撞检测性能。与传统的窄 SIMD 不同,宽 SIMD 能同时处理多个工作单元,比如在一次操作中解决四个接触点。对于复杂的凸包(如拥有 32 个顶点的 Boulder),SAT 算法的边边测试复杂度呈二次增长,成为性能瓶颈。通过引入 SIMD,我将边边测试从标量模式升级为并行处理,在 AMD 7950x 上实现了超过两倍的加速。虽然这对简单的 Box-Box 碰撞影响甚微,但在处理复杂几何体时效果显著。这一优化不仅提升了仿真速度,也为未来更复杂的物理场景奠定了基础。
对于简单的 12 条边,SIMD 带来的收益有限,但当每条凸包拥有 89 条边时,故事就完全改变了。