Carte AMD + Carte Nvidia PhysX HowTo : #1 Introduction
Rédigé par Xavier - - Aucun commentaire
Les articles à venir vont traiter de l'univers propriétaire de Nvidia, Windows et des Jeux vidéos. Le titre étant assez explicite, j'espère que ceux qui y sont allergiques détourneront le regard ou ne cliqueront pas sur le flux RSS sous peine de saigner des yeux.

La physique dans les jeux vidéos
On ignore à quel point un bon moteur physique est essentiel pour le réalisme d'un jeu. Souvenez-vous de l'époque où il n'y en avait pas: il était impossible d'interagir avec le décors (saisir des objets), les ennemis mourraient dans des positions prédéfinies, les objets ne pouvaient pas flotter, etc...
Exemple concret: les premiers Call of Duty. Les ennemis meurent toujours dans les mêmes positions et cela donne parfois des résultats étranges surtout sur les terrains en pente. Contre-exemple avec Half Life ². Le moteur physique utilisé, Havok, offre un aspect beaucoup plus réaliste au jeu. On peut ramasser des objets, les lancer, il y a une vrai gestion de la flottaison sur l'eau, les ennemis meurent enfin de manière réaliste... et surtout les développeurs ont pu intégrer des énigmes basées sur la physique, l'une d'elles consistant à placer des flotteurs sous une plateforme immergée pour la faire remonter.
PhysX
Le concept, la réalisation et le développement de PhysX fut accompli par la société AGEIA. Ils développèrent ce nouveau moteur ainsi qu'une carte accélératrice PCI pour le faire tourner.
PhysX permet une gestion plus réaliste et plus poussé de la physique. Il gère l'écoulement des fluides, la destruction d'éléments, la gravité, les collisions, la génération de particules, la réaction des tissus au vent et les fumées. Malheureusement le concept était voué à l'échec, à cause de la nécessité d'ajouter une carte PCI. Avec du recul on peut comparer cette histoire avec les 3dfx. L'histoire était similaire: nécessité d'avoir une carte additionnelle pour en profiter. Cependant, la carte AGEIA fut jugée trop chère (plus de 200 euros) sachant que les jeux et les joueurs se contentent de peu au niveau de la physique. Et de nos jours, l'univers du jeu vidéo est majoritairement tourné vers les consoles. Et on ne peut bien sûr pas mettre de carte additionnelle dans une console. Donc pas d'intérêt pour les éditeurs.
PhysX est capable de tourner sur le CPU, mais les fonctionnalités avancées et "révolutionnaires" sont bien trop lourdes et nécessitent la carte additionnelle.
Bilan, ce fut un échec commercial et bien peu de jeux (une poignée) utilisèrent ce moteur. Et même, il restait grandement optionnel. AGEIA fut racheté par Nvidia.
PhysX et Nvidia
Nvidia modifia le concept matériel pour PhysX. Fini les cartes additionnelles PCI, il était maintenant capable de fonctionner sur une carte graphique. Une carte Nvidia, bien entendu... GeForce série 8 au minimum, gamme 9600GT ou supérieur recommandé.
Voici les modes de fonctionnement officiels :
- Le joueur possède 1 seule carte Nvidia : PhysX fonctionne dessus (elle gère les graphismes et la physique).
- Le joueur possède 2 cartes Nvidia, non configurées en SLI : une carte peut être dédiée aux calculs PhysX, l'autre aux graphismes.
- Le joueur possède 2 cartes Nvidia en SLI : Même fonctionnement que pour le premier point.
Mais là où ça devient intéressant, c'est que depuis Windows 7, on peut avoir le comportement suivant:
- Le joueur possède 1 carte AMD, et peut installer une Nvidia dédiée aux calculs PhysX.
Faites le calcul. Dans le cadre d'un fonctionnement officiel, on a besoin d'une solution 100% Nvidia. Soit 1 seule carte très puissante, soit deux cartes de puissance moyenne. Dans le cadre du fonctionnement non-officiel avec une AMD, on peut se contenter d'une seule Nvidia de moyenne puissance...
Bien entendu Nvidia n'a pas vu cela d'un bon œil et a rapidement intégré des bridages dans ses pilotes. En effet, si une carte AMD est détectée en affichage principal, la Nvidia refusera de fonctionner en adaptateur PhysX. Le constructeur explique qu'officiellement ils ne peuvent pas prévoir le comportement d'une AMD et d'une Nvidia ensemble, et ne peuvent donc pas en intégrer le support dans leurs pilotes.
Jeux compatibles
Des centaines de jeux utilisent une version "light" de PhysX, comme Mass Effect 2. Elle fonctionne sur le CPU et offre des effets à la hauteur de Havok, rien d'extraordinaire. Les jeux tirant parti des fonctionnalités avancées et nécessitant un adaptateur dédié PhysX sont bien plus rares.
On peut en trouver la liste sur Physxinfo. L'un des plus célèbres est Batman : Arkham Asylum. Le plus récent est Alice : Madness Returns. Paramétrer PhysX en mode "haut" dans ces jeux offre un univers bien plus rempli et riche.
AMD + Nvidia
Heureusement, des petits malins ont rapidement développé des patchs pour faire sauter ce bridage. On peut donc garder notre AMD en adaptateur graphique principal, et ajouter une Nvidia en adaptateur PhysX.
Les solutions décrites commencent à dater et ne sont pas toujours faciles à comprendre. De même que PhysX semble se comporter de manière obscure. Je vais donc rédiger des articles expliquant comment mettre en place tout cela et partager mes expériences.