samedi 28 juin 2008

Nvidia PhysX = operation marketing ?


Entre deux tournois dans ma courte carriere de tennisman virtuel invaincu de Top Spin 3, je me suis posé une question :
Est-ce que les drivers (les 177.39 beta, ca marcherait aussi avec les 177.35) activant l'acceleration PhysX sur les nouvelles cartes Nvidia ne serait pas une tentative desespérée de leur departement marketing pour fausser les resultats des tests publiés en comparaison des nouvelles cartes ATI ?

En gros, PhysX permet de decharger le processeur central des calculs des effets physiques dans les jeux programmés avec le moteur PhysX, ces calculs sont alors effectués par une carte specifique d'AGEIA qui permettait d'ajouter des effets plus lourds et donc d'augmenter le realisme du jeu. Le driver Nvidia permet d'effectuer ces calculs directement sur la carte graphique et profiter de l'enorme puissance de calcul des derniers GPU.
Ce que Nvidia ne vous dit pas c'est que ces calculs d'effets physiques ont un cout : les ressources allouées aux calculs phyisques ne sont donc plus disponibles pour les calculs traditionnels de la carte graphique.
Pour resumer : PhysX Nvidia = Baisse des FPS.

Si les effets physiques sont vraiment tres lourds, on peut avoir au contraire une hausse des FPS, mais il s'agit là de cas extremes specialement conçus pour demontrer l'interet d'accelerer la physique.

Pour en revenir à ma question d'origine, ces drivers ne proposent, pour l'instant, l'acceleration PhysX QUE pour Unreal Tournament 3 (sur les maps specialement conçues par AGEIA) et... pour 3DMark Vantage...
En effet, le dernier benchmark 3D de Futuremark propose en 4eme test, un test "processeur" tres lourds en effets calculs physiques, mais effectué en tres basse resolution, sans reelle charge graphique.
Avec ces drivers, l'effet est immediat, le score du processeur (2 tests) passe de 12-14 000 à 35 000, de 10 fps à 120 fps pour le test en question, et le score 3DMark global benefici d'une augmentation non negligeable de 500 à 2500 points sur le mode Performance dans tous les tests publiés et sur les forums. Le score des nouvelles cartes Nvidia est donc artificiellement gonflé sur un test qui ne represente pas la realité, etant donné que dans un jeu normal, la carte aurait aussi à calculer les effets graphiques.

D'ailleurs, pourquoi aucun test n'a ete effectué/publié en mode Extreme, beaucoup plus lourd graphiquement ?

J'ai passé 2 heures à chercher sur Internet un test propre de cette nouvelle fonctionnalité. Sachant que la presse dispose du driver depuis le 20 Juin, j'ai été etonné de n'avoir rien trouvé à part des slides et des graphs venant de Nvidia et publiés comme des tests, et supposés representer ce que Nvidia espere obtenir sur une version finalisée, sachant que ces graphs pourraient tres bien etre tirés de 3 GTX280 en SLI, ils ne sont pas tres parlants... Aucun chiffre n'est publié en Extreme, et aucun des grands sites de hardware n'a fait de test sur Unreal Tournament 3, l'autre solution pour tester cette nouvelle fonctionnalité, alors que cela aurait ete bien plus representatif de ce que l'utilisateur final pouvait attendre.

Il n'y a que sur les forums que l'on peut trouver des chiffres pour UT3, publiés par des gens qui n'ont pas reellment fait de mesure, et ce n'est pas glorieux pour des cartes haut de gamme ! Apparemment, sur une map normale, ils jouent habituellement à 100-150 fps. ils ne sentent pas d'augmentation avec Nvidia PhysX. Par contre, sur les maps speciales d'AGEIA, sans acceleration PhysX ils etaient à 5-10 fps, et avec (c'est un peu special) ca commence à moins de 60 fps, et plus le temps passe, plus les fps baissent, pour atteindre 10 fps au bout de 5 à 10 min en fonction de la carte graphique et du processeur. Un utilisateur a comparé une 8800GTX accompagné d'une carte AGEIA dédiée et une 9800GTX seule avec PhysX intégré, et cela donne 60 fps constant pour le couple 8800GTX+AGEIA contre 25 fps pour la 9800GTX... Deux autres parlent de performance horrible au point qu'il pensait que cela tournait sans acceleration. Celui ci indique que sur sa GTX280 (!!!) la performance des maps PhysX s'apparente à un "slide show". Un dernier affirme que les maps speciales PhysX se charge plus rapidement avec les 177.35 que les 177.39 beta, meme si on ne voit pas trop le rapport avec le sujet :)

Est-ce que c'est pour ca que la publication officielle des chiffres d'UT3 est tabou sur les sites journalistiques ?

Au moment de presenter le QuadSLI et le Crossfire X, Nvidia et ATI avaient deja indiqué que ces solutions extremes pouvaient etre utilisées en allouant un chip graphique entierement aux calculs de la physique au lieu d'avoir 4 GPUs pour les calculs graphiques. Et c'est peut etre ce que Nvidia a implementé dans ces drivers beta, etant donné qu'en SLI ou sur des 9800GX2, le score du test physique de 3dmark n'a pas l'air d'augmenter avec le nombre de GPU disponibles. Ou alors c'est seulement une limitation temporaire due au fait que ce ne sont encore que des drivers beta.

Etant donné que les drivers ont été envoyés à la presse uniquement le 20 juin (justement avant le weekend !), que les cartes ATI sortaient officiellement le 25, que la 9800GTX fait jeu egal dans les tests avec la HD4850 deux fois moins chere, sauf sous 3dmark vantage avec l'activation de ces drivers speciaux (...), qu'on ne peut pas desactiver cette acceleration PhysX pour l'instant, qu'un developpeur a decalré avoir reussi à activer l'acceleration PhysX de Nvidia sur les Radeon HD3800, cette nouvelle fonctionnalité commence dans le chaos ! :D

Edit : Il semblerait qu'en remplacant la dll PhysX fournie avec l'installation de UT3 par celle de la derniere version du driver PhysX dans le repertoire d'UT3, on puisse avoir des perfs ameliorées jusqu'à 2 fois (en meme temps, en partant de 5-10 fps... lol. et sur une GTX280, re lol...) cliquez ici pour le detail de la manip.