SIMD for Collision
L'article présente l'approche « wide SIMD » pour traiter plusieurs unités de travail simultanément, en contraste avec le SIMD étroit qui opère sur des vecteurs xyz. La détection de collision utilise le test de séparation (SAT) et, pour des coques complexes comme le « boulder » à 32 points et 89 arêtes, les combinaisons arête-arête croissent quadratiquement et dominent le coût. En convertissant les données en format structure-of-arrays et en testant une arête contre plusieurs arêtes en parallèle, l'implémentation wide SIMD réduit significativement le nombre d'appels au TestCrossProduct. Des mesures sur le benchmark des 5120 coques montrent que SSE2 réduit le temps de plus de deux fois par rapport au mode scalaire et qu'une variante AVX2-Lite apporte encore un léger gain. L'optimisation profite surtout aux coques complexes (utile pour la simulation de destruction), a peu d'effet sur les boîtes simples, et reste contrainte par une limite interne de 128 arêtes tout en laissant la possibilité d'une implémentation AVX2 plus étendue.