Wide SIMD Accelerates Complex Collision Detection in Box3D

SIMD for Collision

Wide SIMD Accelerates Complex Collision Detection in Box3D

I explored how wide SIMD techniques significantly boost performance in Box3D's collision detection, specifically for complex convex hulls. By processing multiple edge tests simultaneously, we achieved over twice the speed of scalar code in our convex pile benchmark. While simple shapes like boxes see little gain, this optimization is crucial for handling detailed geometry efficiently without relying on GJK or EPA algorithms.

EPA is essentially an algorithm for computing a convex hull, and the input data can be flat slivers. That is a challenging scenario for convex hull computation. Hence the need for a second fallback.
  1. grg0

    As a SIMD noob, one thing that wasn't obvious to me is that SIMD can also speed you up if your mem throughput is underutilized by having the CPU load more data per instruction. It isn't just about compute speedups, which is typically what it's advertised for. Using perf on Linux has been very educational for me to get an intuition for modern CPU performance.

  2. brcmthrowaway

    No support for any ARM vector instructions.. thats horrible

More from this day

2026-07-25