Brèves

WebTV

Actualité de la scène

Compétitions



Pourquoi faut-il passer à DirectX9 ?

25874 140
Les différences d'affichage sur Counter-Strike:Source font régulièrement débat. Celles-ci sont le plus souvent le résultat de deux facteurs, la marque de la carte graphique utilisée et la version de DirectX du jeu. Des plugins (ESL, zBlock) ont d'ailleurs fait leur apparition pour détecter la version de DirectX utilisée, voir en bloquer certaines (notamment les versions inférieures à 8).

La succession de mises à jour effectuée par Valve et HPE est censée avoir harmonisé le rendu et nous verrons que si le résultat est probant sur les flashs, un bug majeur sur les smokes nous conduit à penser qu'il serait préférable pour les compétitions d'imposer DirectX 9.

 
NDLR : Cet article est assez long, pour ceux qui ne seraient pas intéressés par le détail des résultats et la méthodologie employée, le dernier paragraphe récapitule les points importants.

Concernant les flashs, deux questions principales se posent :
1) Pour une même carte graphique, y a-t-il une différence entre les différentes versions de DirectX ?
2) Pour une version de DirectX donnée, y a-t-il une différence entre les ATi et les nVidia ?

Pour répondre à ces deux questions et mesurer ces différences, pendant la Gamers Assembly (avril 2011), des séquences vidéos ont été enregistrées via une caméra placée derrière un écran (Samsung 120Hz 2233rz), sur deux PC différents, l'un avec une ATi 5700, l'autre une nVidia 9500GT.

Sur ces deux configurations, un lancé de flash sur de_dust2 était réalisé, en DirectX 81, puis 95 et enfin 98. C'est le seul paramètre à avoir été modifié, via un fichier .reg. Le test était conduit sur un serveur dédié mis en place par VeryGames, muni d'une "cfg" war. Chaque test a été répété de face et à 180°, ce qui a produit 12 rushs vidéo que vous pouvez télécharger ici.

Ces rushs ont ensuite été montés pour faire apparaitre côte à côte ATi et nVidia, ainsi qu'un chronomètre. Voici le résultat pour DirectX 81 :


Plein écran et HD activée conseillé

 

Puis pour DirectX 95 :


Plein écran et HD activée conseillé


Pour ceux que ça intéresse, le montage sur DirectX 98 est également visible, mais ne présente pas de différence importante avec DirectX95. L'effet à 180° est lui aussi presque  inexistant, que ce soit avec ATi ou nVidia.

Voici le tableau récapitulatif des résultats, basés sur le chronomètre intégré à la vidéo. Pour chaque version de DirectX et chaque carte graphique, vous trouverez trois mesures :
- la première, précise, correspond au temps à partir duquel l'effet de la flash commence à s'estomper, la première image à partir de laquelle le pistolet commence à se dessiner.

- la deuxième mesure est moins exacte, mais correspond globalement au moment où l'on commence à voir suffisamment pour distinguer un adversaire.
 
- la troisième mesure est la plus imprécise, parce que la caméra a tendance à compenser la baisse de lumière quand la luminosité (et donc l'effet de la flash) diminue. C'est le temps total pour que l'effet disparaisse complètement. Mais cette mesure n'a au final que peu d'importance, les joueurs n'attendant pas la fin de l'effet pour réagir.
 
  ATi (secondes) nVidia (secondes)
1) DirectX 81 - Début 2.407 2.623
2) DirectX 81 - Contours visibles 2.751 3.052
3) DirectX 81 - Effet complètement terminé 4.386 4.816
     
1) DirectX 95 - Début 2.278 2.537
2) DirectX 95 - Contours visibles 2.407 2.837
3) DirectX 95 - Effet complètement terminé 4.256 4.300
     
1) DirectX 98 - Début 2.365 2.623
2) DirectX 98 - Contours visibles 2.407 2.837
3) DirectX 98 - Effet complètement terminé 4.256 4.386

N'oubliez pas également que la caméra enregistrant à 30 fps, tous les résultats sont également soumis à une marge d'erreur d'au moins 33ms au minimum.

Les conclusions sont intéressantes :
  • Dans tous les cas, les différences sont minimes. Avec le pire des scénarios, entre une nVidia en DirectX 81 et une ATi en DirectX95, la différence est de 345 millisecondes pour commencer à perdre l'effet, en faveur de l'ATi.
  • Les différences entre les différents DirectX sont faibles : moins de 80 ms entre 95 et 98, que ce soit sous nVidia ou ATi. Et pas plus de 300 ms entre 81 et 95.
  • Les différences entre nVidia et ATi, quelque soit la version de DirectX sont d'environ 250 ms avant de commencer à voir disparaitre l'effet et au pire de 430 ms avant que l'effet soit suffisamment bas pour réagir. Ne pas oublier cependant que cette dernière mesure est peu précise.


Mais les flashs ne sont pas le seul élément à être affecté par la carte graphique. Les fumigènes le sont aussi. Si le rendu en cas normal est très similaire, un bug sur les nVidia change considérablement la donne : l'occlusion ambiante, un simple réglage activable facilement via les drivers nVidia permet de distinguer les contours à travers les smokes en Direct X 80/81, comme le montre le screen ci-dessous.

Nuke ambiant occlusion
"Mais il a pas les smokes !!!"


Ce phénomène n'apparait plus en DirectX 95 et plus encore, les smokes redeviennent complètement opaques.


Comme il n'est pas possible d'imposer à chaque joueur le modèle d'une carte graphique, le seul réglage modifiable et qu'il est possible de vérifier via un plugin est la version de DirectX. Et le constat semble assez simple : DirectX 9 et plus devrait maintenant être imposé. Un dixième de seconde en plus pour les flashs n'est pas un inconvénient suffisant pour se priver d'éliminer le problème de l'occlusion ambiante.
 
Certes de nombreux possesseurs de nVidia ne l'ont sans doute jamais utilisé, mais ce réglage étant indétectable par un simple plugin serveur, il faut éliminer ce doute définitivement. Imaginez si Angeldust avait réalisé tous ses travers smokes contre Epsilon à la 30P sur un match Internet et qu'il ait eu une nVidia... Nombreux sont ceux qui auraient hurlé au cheat...
 
Merci à Madden et pop_sora d'avoir prêté leurs PC pour les tests.
 
 
Fichiers pour changer le DXLevel (basés sur ceux de RegnaM)
 
"zb_force_dx 1" dans le "server.cfg" pour forcer le DX level à 9 avec zBlock
 
Bannière par Etivey
... Commentaires en cours de chargement ...

Vous devez posséder un compte VaKarM et être connecté pour commenter les articles