Maniatux's Blog

Welcome to the internet

Carte AMD + Carte Nvidia PhysX HowTo : #3 Benchmarks

Rédigé par Xavier -

Pour compléter cette série d'articles sur PhysX et AMD, voici quelques essais sur des jeux que je possède:

  • Batman Arkham Asylum
  • Mirror's Edge
  • Alice Madness Returns

Je rappelle les principales caractéristiques de ma config:

  • Intel Core i7 860 (4x 2,8 GHZ + HT)
  • 4GB DDR3 GSkill PC10600
  • AMD HD5850 OC

Les graphismes indiquent les FPS (Frame per second), ou images par seconde. J'ai mis 3 indicateurs:

  • MIN: La valeur la plus basse, celle qui va nous pénaliser dans le jeu car c'est typiquement "le moment où ça rame à mort"
  • AVERAGE: La valeur moyenne
  • MAX: Les momens les plus "fluides"

Mirror's Edge

Présentation: Dans un futur proche, le gouvernement contrôle toute diffusion de l'information et le seul moyen de transmettre discrètement des messages est de faire appel aux messagers, qui escaladent les buildings et sautent de toit en toit pour transporter des paquets. Vous incarnez Faith, une messagère à la taille de guêpe qui découvrira rapidement un important complot.

Effets PhysX: Les radiateurs de climatisations ou ventilation sur les toits des buildings diffusent de la fumée. Des films plastique ont été ajoutés sur certains objets. Le verre produit des débris lorsqu'il se brise. Les impacts de balle produisent des particules.

Rendu CPU et GPU: Le début du jeu ne pose pas de problèmes avec le CPU car les effets restent relativement simples. Le mouvement des plastiques et des fumées ne fait pas chuter le framerate. En revanche, les bris de verre sont totalement ingérables. Le jeu se met à ramer de manière impressionnante au point qu'on ne peut plus avancer. L'ajout d'une carte PhysX arrange grandement les choses. Même avec la GT220, le jeu reste fluide malgré les bris de verre.

Alice Madness Returns

Présentation: La santé mentale de Alice se détériore au point qu'elle se retrouve attirée au pays des merveilles mais découvre que celui-ci est corrompu et que rien ne va plus. L'univers glauque voire gore est accompagné d'un excellent gameplay et de sublimes graphismes.

Effets PhysX: Mouvement des vêtements/cheveux, génération de particules, débris, fumées et écoulement de fluides. PhysX ajoute un contenu particulièrement présent, qui donne l'impression de vide lorsqu'on le désactive.

Rendu CPU et GPU: L'optimisation, bien que perfectible, semble assez bonne. Même si PhysX tourne sur le CPU, cela reste relativement jouable (comparé aux autres jeux). Ça n'est pas fluide, et certains combats s'effectuent au ralenti (surtout quand on tue les ennemis qui meurent en fluides), mais on a connu pire.

Batman Arkham Asylum

Présentation: Le joker parvient à prendre le contrôle de l'asile d'Arkham grâce à un plan soigneusement monté et c'est à Batman de corriger le tir. Infiltration, combat, enquêtes sont au cœur de ce jeu.

Effets PhysX: Des drapeaux qui flottent au vent, de la fumée et des débris. Grâce à un gros patch sorti peu après le jeu, développé en partenariat avec Nvidia, le moteur physique est visuellement bien intégré.

Rendu CPU et GPU: Si l'intégration visuelle est excellente, il semble que sous le capot ce ne soit pas le cas. Il est impossible de paramétrer les effets PhysX au maximum si on se contente du CPU, le framerate chute tellement que ça rame. Une carte faible comme la GT220 permet néanmoins de fluidifier le jeu de manière presque parfaite.

Conclusion

On peut se poser des questions sur la qualité technique de PhysX. Batman ne semble pas demander une grosse puissance puisqu'une "petite GT220" suffit amplement. Par contre sur le CPU ça rame. N'utilise-t-il pas plusieurs coeurs? Est-il compilé en x87 ? Même cas pour Mirror's Edge.

A l'inverse, un jeu comme Alice Madness Returns s'en sort assez bien sur le CPU, et une carte graphique "puissante" comme la 9800GT ne modifie pas les choses de manière radicale. Cela donne l'impression que chaque coeur et chaque GHz du processeur est exploité, et que le moteur est réellement lourd cette fois-ci puisque même une solution Nvidia a du mal.

Classé dans : Hardware - Mots clés : aucun

How to safely remove KDE Network Manager applet in Kubuntu and install Gnome applet

Rédigé par Xavier -

Network Manager applet for Plasma in KDE is not very stable it often crash or freeze the whole desktop. To remove it, on debian based OS, just type:

$ sudo apt-get remove knm-runtime

Then install Gnome applet:

$ sudo apt-get install network-manager-gnome

To start it, type ALT+F2 then nm-applet. You can add this in KDE autostart settings.

Sortie de Cent OS 6 : Reveillez-vous les bloggueurs !

Rédigé par Xavier -

Ce soir en rentrant chez moi, j'ai machinalement démarré mon ordinateur, lancé Firefox et consulté mes flux RSS. Et parmi les informations nombreuses et insignifiantes, se cachait un petit article intéressant sur Tux-Planet : Cent OS 6 est sortie !

Aucun article ailleurs que chez Tux-Planet, même sur le Planet-Libre ou Linuxfr il n'y a rien ! Quand une nouvelle Ubuntu sort, on subit pourtant des flots d'articles redondants pendant des semaines.

CentOS 6 donne à tous la possibilité de profiter de la puissance et de la fiabilité de RHEL 6, avec son support record de 10 ans :)

Classé dans : Linux - Mots clés : aucun

Carte AMD + Carte Nvidia PhysX HowTo : #2 Guide

Rédigé par Xavier -

Choix de la carte additionnelle

Les benchmark effectués par différents magasines informatiques en ligne indiquent qu'il faut disposer au minimum d'une GeForce 9600GT. Voici par exemple un excellent article de Tom's Hardware. Mais Nvidia s'amuse à renommer ses cartes, il n'est donc pas simple de s'y retrouver.

La 9600GT étant le minimum recommandé, l'idéal est d'en avoir une plus puissante. L'ennui est que cela augmente du même coup la consommation énergétique du PC et la chaleur dans le boitier. A vous de trouver le juste milieu. Mais des jeux comme Alice : Madness Returns semblent nécessiter un adaptateur PhysX assez costaud, de la gamme GTS 250 ou supérieur. Il existe cependant des tweaks pour optimiser un peu mieux le jeu.

On m'a prêté une GT220 pour faire des tests, mais j'attends la livraison d'une 9800GT d'occasion plus puissante à installer de manière définitive. Je donnerai bien entendu un retour d'utilisation.

Si vous êtes client Nvidia vous aurez probablement une 9800GT ou équivalent qui traîne dans un placard, ou vous pourrez en commander d'occasion sur différents sites spécialisés. Négociez/trouvez des cartes à 40 ou 50€, elles ne valent pas plus. Attention si votre carte principale est une Nvidia puissante (GTX570), n'ajoutez pas de 9600GT ou 9800GT elles ralentiront les calculs PhysX ! Mais bon ce tuto est destiné aux possesseurs de cartes AMD...

Machine de test

Mon ordinateur est équipé d'une carte graphique AMD HD5850. Je vais lui ajouter une Nvidia GT220 pour profiter des effets PhysX sur les jeux. Le tout fonctionne sur Windows 7 Pro 64 bits.

Drivers et outils

Nous allons utiliser "Hybrid PhysX Mod". Il est conçu pour une version bien précise des pilotes, c'est pourquoi nous ne prendrons pas la dernière versions de ceux-ci, mais une plus ancienne. Il est actuellement en version 1.04ff et l'auteur n'a pas prévu de mise à jour car il déclare ne plus avoir le temps. Nous sommes donc limités au driver 261beta ou 260.99 stable pour les GeForce et au PhysX 9.10.0514, mais sur le site de Nvidia, seul le 9.10.0513 est fourni. Je donne donc ci-dessous un lien pour une version plus récente, censée être même pré-patchée pour le fonctionnement que nous désirons (mais ce n'est pas indispensable).

Procédure

  1. Installer la carte additionnelle dans l'ordinateur et le démarrer.
  2. Installer le pilote GeForce 260.99 (décocher PhysX et 3dvision).
  3. Installer le pilote PhysX 9.10.0514
  4. Lancer le Hybrid PhysX mod 1.04ff.
  5. Redémarrer l'ordinateur.

Note importante

Les jeux s'installent avec leur propre version de PhysX, statique. Ils sont censés aller chercher la version du système si celle-ci est plus récente, mais d'après ce que j'ai vu ça ne fonctionne jamais. Donc même si vous avez installé votre PhysX patché pour fonctionner avec une AMD, vos jeux se cantonneront aux calculs CPU.

Pour contourner cela il faut ruser et supprimer/renommer les librairies statiques PhysX des jeu pour les forcer à utiliser nos librairies système. C'est la raison pour laquelle j'ai passé des heures à galérer en croyant que ça ne fonctionnait pas, alors que si. Il fallait juste comprendre le fonctionnement obscur des applications et de PhysX...

Les manipulations à faire peuvent être trouvées par Google, forum, ou le site PhysXInfo.com. Il s'agit généralement de DLL à renommer ou supprimer.

Vérifications

Installez FluidMark, et rendez-vous dans le dossier d'installation. Par défaut il est dans c:\Program Files (x86)\Geeks3D\Benchmarks\FluidMark_1.3.1\ puis repérez les fichiers:

  • PhysCooking.dll
  • PhysXCore.dll
  • physxcudart_20.dll
  • PhysXDevice.dll
  • PhysXLoaderno.dll

Modifiez les .dll en .nodll ce qui les rendra inutilisables (et donc nous évitera de rencontrer le souci décrit dans le paragraphe précédent).

Lancez FluidMark, vérifiez que la case "PhysX CPU" est bien décochée. Lancez un test de stabilité.

Les informations affichées montrent vos deux cartes graphiques, mais plus important, elles doivent indiquer que la GT220, ici la carte additionnelle, travaille. Cela se traduit par l'indication d'utilisation de son GPU et éventuellement l'augmentation de sa température sur les courbes. Si son GPU reste à zéro, cela signifie que c'est votre CPU qui fait les calculs PhysX.

Si tout est OK, vous pouvez vous lancer dans vos jeux en n'oubliant pas de faire la manipulation sur les DLL ! Enjoy !

Classé dans : Hardware - Mots clés : aucun

Carte AMD + Carte Nvidia PhysX HowTo : #1 Introduction

Rédigé par Xavier -

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.

Classé dans : Hardware - Mots clés : aucun