Peut-on profiter de PhysX sans GeForce ?

L’historique de la physique dans les jeux est souvent comparé à celui du cinéma, ce qui est certes excessif, mais pas dénué de sens pour autant. Les graphismes 3D étant arrivés à un niveau de réalisme saisissant, le manque de dynamisme et d’interaction dans les environnements, ou encore le manque de réalisme en matière d’animations et mouvements est devenu plus flagrant.

Il y a de quoi être admiratif quand on constate le chemin parcouru en 20-25 ans depuis les premiers jeux en VGA jusqu’au références actuelles : au lieu de sprites en pixels animés, on mesure maintenant la qualité graphique à la crédibilité des éléments et phénomènes naturels comme l’eau, les reflets, le brouillard, la fumée de même que leurs mouvements et animation. Tout ceci dépendant essentiellement de calculs très complexes, la plupart des développeurs choisissent d’adopter des moteurs physiques dont les librairies prêtes à l’emploi contiennent notamment des animations de personnages (effets ragdoll) ou encore des mouvements complexes (véhicules, chutes d’objets, eau etc.)

PhysX sera au cœur de cet article, mais il faut noter qu’Havok a été largement plus employé jusqu’ici. Revenons en arrière : jusqu’en 2008, Havok comme PhysX permettent tous deux une gestion des calculs physiques au niveau CPU. Août 2008, NVIDIA annonce que les GeForce permettent une accélération matérielle de PhysX, devenu depuis le seul moteur physique établi dans l’industrie du jeu vidéo à traiter les calculs au niveau CPU et GPU.

C’est ici que le dilemme commence : PhysX est officiellement indissociable des GeForce, or l’offre AMD est particulièrement attractive ne serait-ce que depuis les Radeon HD 4850/4870, qui ont vu le jour fin juin 2008. L’année suivante a été marqué par un verrouillage prononcé chez NVIDIA, qui a rendu la vie dure à tous ceux qui comptaient faire cohabiter une Radeon pour le jeu et une GeForce pour PhysX au sein d’une même configuration. Nous souhaitons évidemment qu’une solution ouverte et raisonnable puisse s’imposer, mais dans l’état actuel des choses, il faut aller aussi loin que possible avec ce que les développeurs ont massivement adopté : la gestion des calculs physiques par le CPU.

Pourquoi cet article ? Les actualités/articles sur le sujet sont déjà nombreux, mais nous tenions à faire la lumière sur les derniers développements, benchmarks à l’appui. On verra donc si NVIDIA limite les performances CPU de PhysX de manière à mettre en avant les GeForce, l’aptitude de PhysX à gérer le multithread (ce qui le rendrait compétitif) et enfin s’il est aussi facile et bénéfique de diriger les calculs physiques vers le GPU que NVIDIA le prétend.