AMD Catalyst 13.8 beta: du mieux pour CrossFire X?
Si vous suivez l'actualité liée aux cartes graphiques, ou possédez un système CrossFire X, vous n'êtes probablement pas sans savoir que le multi-GPU d'AMD a tendance à souffrir plus facilement d'un manque de fluidité effective que son équivalent SLI de Nvidia. Comme nous l'avions entrevu à travers un pilote prototype lors du lancement de la Radeon HD 7990, AMD s'attaque enfin au problème, une initiative en train de se concrétiser.
Les pilotes Catalyst 13.8 beta viennent ainsi de faire leur apparition, avec une petite journée de retard par rapport au planning initialement prévu. Ces pilotes introduisent une nouvelle fonctionnalité, dénommée "Frame Pacing", identique au "Frame Metering" de Nvidia, si ce n'est qu'elle est débrayable via le panneau de contrôle (activée par défaut). Elle est actuellement réservée aux applications DirectX 10 et 11 jusqu'en 2560x1600, le support pour DirectX 9, OpenGL et les résolutions 4k ou surround étant prévu pour plus tard.
Rappelons que la fluidité d'un jeu 3D rendu en temps réel sur PC dépend de nombreux facteurs. Les principaux sont le moteur du jeu et le GPU, qui doivent chacun être capables d'exécuter leur tâche suffisamment vite et avec une bonne régularité. Entre ces deux éléments se trouvent les API (DirectX) et les pilotes qui doivent faire en sorte que de ne pas entraver le bon avancement des images dans le pipeline 3D.
Dans le cas du multi-GPU, un second paramètre entre en jeu. Puisque plusieurs images sont en général préparées à l'avance par le moteur de jeu, pour disposer d'un buffer qui évite certains ralentissements, il peut arriver que deux GPU (ou plus) puisent dans ce buffer presqu'en même temps. Deux images dont l'intervalle prévue par le moteur du jeu est régulière peuvent ainsi être finalisées et ensuite automatiquement affichées presqu'en même temps quand la synchronisation verticale est désactivée. Une perte de régularité qui affecte la fluidité ressentie. Le Frame Pacing et le Frame Metering s'attaquent à ce problème en insérant un délai artificiel entre les images lorsque cela est nécessaire pour forcer la régularité d'affichage.
Nos résultats
Voici les résultats que nous avons obtenus entre les Catalyst 13.6b2 et les Catalyst 13.8 beta, en 2560x1600 et avec une Radeon HD 7990. Nous avons ajouté une GeForce GTX 690 équipées des pilotes 326.19 beta en guise de comparaison :
Tout d'abord les performances, qui varient très peu avec le nouveau pilote si ce n'est dans deux cas. Le premier est Metro Last Light pour lequel les Catalyst 13.8 beta apportent un gain de performances général en single ou multi GPU. Ensuite nous avons observé un bug étrange : avec les Catalyst 13.6b2, mais également avec les 13.5b2, CrossFire X ne s'active pas dans The Witcher 2 quand le jeu est lancé en 2560x1600. Ce problème n'existe pas avec les 13.8 beta. Nous avons également rencontré un même problème dans Anno 2070, cette fois autant avec les anciens qu'avec les nouveaux pilotes. Contrairement à The Witcher 2 pour lequel ce n'est pas possible, il nous a par contre suffit de passer au 1920x1080 à l'intérieur du jeu et de revenir au 2560x1600 sans le quitter pour pouvoir profiter de CrossFire X.
Comme dans le test initial de la Radeon HD 7990, nous avons observé le ressenti, que nous avons traduit en couleurs. Le vert vif représente une excellente fluidité, le vert pâle une fluidité assez bonne, le bordeaux un résultat catastrophique et différents niveaux intermédiaires :
Voici ce que cela donne :
L'évolution est de toute évidence bénéfique dans ces cas de figures qui tournent en général autour des 60 fps et les résultats sont légèrement meilleurs que ceux que nous avions obtenus avec le premier pilote prototype fourni par AMD. Battlefield 3, Crysis 3 et GRID 2 affichent une excellente fluidité alors que les cas les plus problématiques progressent.
Tout n'est pas parfait cependant. Les saccades dans Anno 2070 et The Witcher 2 restent plus marquées que sur GeForce, malgré le niveau de FPS supérieur. De gros ralentissements se font sentir dans certains passages d'Assassin's Creed 3 et dans Metro Last Light, dans ce dernier cas probablement lors de chargements d'éléments de la scène. Enfin la fluidité dans Far Cry 3 reste très mauvaise et il est difficile d'apprécier le jeu dans ces conditions.
En conclusion, AMD fait un pas dans la bonne direction même s'il reste du travail et des cas problématiques incompréhensibles. Comment se fait-il qu'un jeu tel que Far Cry 3 pose problème à ce point alors qu'AMD était proche des développeurs ? Certes ce moteur n'est pas le plus efficace pour garantir une bonne fluidité, mais si Nvidia y est parvenu il n'y a pas de raison qu'AMD ne puisse en faire de même.
Notre avis concernant la Radeon HD 7990 doit-il être revu suite à l'arrivée de ces pilotes ? Ses résultats sont meilleurs, c'est vrai, mais est-ce suffisant ? Nous sommes partagés sur ce point. Par contre nous sommes convaincus que c'est trop tard pour cette génération. De nouveaux produits sont attendus pour l'automne et nous ne pouvons que vous conseiller de patienter, ce qui vous permettra soit de pouvoir éviter le recours au multi-GPU, qui ne saurait être parfait, soit de profiter de pilotes encore plus aboutis et de performances supérieures.
Notez que nous avons ajouté en annexes notre ressenti détaillé par jeu ainsi qu'un petit retour sur la fluidité et FCAT, ce qui nous semble nécessaire au vu de la confusion qui règne toujours à ce sujet.
Ressenti par jeu :
Anno 2070
GeForce GTX 690 : Petite insuffisance de FPS qui accentue la fluidité imparfaite
Radeon HD 7990 Catalyst 13.6b2 : Grosses saccades
Radeon HD 7990 Catalyst 13.8b : Saccades
Assassin's Creed 3
GeForce GTX 690 : Fluidité assez bonne à excellente
Radeon HD 7990 Catalyst 13.6b2 : Chute à +/- 30 fps par endroits
Radeon HD 7990 Catalyst 13.8b : Chute à +/- 30 fps par endroits
Battlefield 3
GeForce GTX 690 : Fluidité assez bonne
Radeon HD 7990 Catalyst 13.6b2 : Une image sur 2 affichée par endroit ce qui peut affecter la fluidité
Radeon HD 7990 Catalyst 13.8b : Fluidité excellente
Crysis 3
GeForce GTX 690 : Fluidité excellente
Radeon HD 7990 Catalyst 13.6b2 : Cadence légèrement irrégulière par endroits
Radeon HD 7990 Catalyst 13.8b : Fluidité excellente
Far Cry 3
GeForce GTX 690 : Cadence légèrement irrégulière + petites saccades de temps en temps
Radeon HD 7990 Catalyst 13.6b2 : Enormes saccades, injouable
Radeon HD 7990 Catalyst 13.8b : Grosses saccades
GRID 2
GeForce GTX 690 : Fluidité assez bonne mais ralentissements à 45 ou 30 fps quand il y a beaucoup de fumée
Radeon HD 7990 Catalyst 13.6b2 : Fluidité assez bonne même si cadence irrégulière
Radeon HD 7990 Catalyst 13.8b : Fluidité excellente
Max Payne 3
GeForce GTX 690 : Fluidité assez bonne
Radeon HD 7990 Catalyst 13.6b2 : Fluidité assez bonne
Radeon HD 7990 Catalyst 13.8b : Fluidité assez bonne
Metro Last Light
GeForce GTX 690 : Fluidité excellente
Radeon HD 7990 Catalyst 13.6b2 : Chute de fps par endroits
Radeon HD 7990 Catalyst 13.8b : Chute de fps par endroits
The Witcher 2 EE
GeForce GTX 690 : Fluidité assez bonne
Radeon HD 7990 Catalyst 13.6b2 : Saccades aléatoires, CrossFire ne se lance pas en 2560, injouable
Radeon HD 7990 Catalyst 13.8b : Petites saccades aléatoires
Tomb Raider
GeForce GTX 690 : Fluidité assez bonne (excellente mais petit manque de fps par endroits)
Radeon HD 7990 Catalyst 13.6b2 : Une image sur 2 affichée par endroit ce qui affecte la fluidité
Radeon HD 7990 Catalyst 13.8b : Fluidité assez bonne (sensation de mouvement irrégulier)
Fluidité et FCAT
Nvidia a intégré le Frame Metering dans ses pilotes depuis longtemps et commencé il y a quelques mois à distribuer à la presse un outil, FCAT, destiné à quantifier cette régularité d'affichage. A force d'insistance, Nvidia est parvenu à presque généraliser son utilisation dans la presse anglo-saxonne, qui est souvent plus réceptive aux demandes d'un acteur important de l'industrie.
Comme nous l'avons déjà expliqué dans un article fourre-tout au niveau des réflexions sur le sujet, nous avons de notre côté décidé de ne pas utiliser cet outil dont nous estimons les résultats trompeurs puisqu'ils mesurent le bon fonctionnement du Frame Pacing/Metering et non la fluidité qui est ce qui nous intéresse au final. Dans certains cas ils donnent des indications sur celle-ci, dans d'autres ils indiquent un problème inexistant en pratique et dans d'autres ils masquent un problème de fluidité. Seul un ressenti permet actuellement de placer les données fournies par cet outil dans l'une ou l'autre catégorie… Si le ressenti est de toute manière nécessaire, quelle utilité pour FCAT ? Si ces données en elles-mêmes ne veulent rien dire, elles peuvent par contre être utiles pour compléter ou quantifier un ressenti. Malheureusement, selon nous la plus-value alors apportée ne justifie pas le temps passé à obtenir ces données et il est bien plus intéressant d'observer le comportement dans plus de jeux.
Certains diront que le ressenti est subjectif. C'est vrai, mais il n'y a pas d'alternative. Au sujet de la fluidité, une partie des données prétendument objectives présentées par certains confrères n'en sont pas réellement. Elles sont en fait issues d'un traitement des données FCAT effectué avec des formules dont les paramètres clés sont totalement subjectifs et ont été pensés au départ par Nvidia pour mettre en avant ses produits, notamment en essayant de réduire la longueur des barres de la concurrence dans les graphes des performances avec un FPS "recalculé". Ces formules, plus ou moins personnalisées - ou pas du tout, et les chiffres qu'elles génèrent servent avant tout à masquer le côté subjectif de l'analyse FCAT, alors que leur rigidité n'est pas adaptée à la complexité des paramètres qui font qu'un rendu semble fluide ou pas.
Voici deux exemples pour comprendre le problème en pratique. Si une carte bi-GPU débite 120 fps sur un moniteur 60 Hz, avec un niveau d'irrégularité maximal qui fait qu'une image sur deux n'est presque pas affichée, FCAT va massacrer son résultat. En pratique, la fluidité sera pourtant excellente, avec un ressenti peut-être même supérieur à celui d'une carte qui affiche une régularité parfaite mais qui aurait ajouté un délai et donc de la latence sur une partie de l'image. A l'inverse, si un moteur du jeu est dépassé par les évènements (ce qui peut venir de lui-même directement ou être lié au comportement du GPU ou des pilotes) et ne fait plus avancer la simulation régulièrement, mais que le Frame Pacing/Metering force une régularité parfaite d'affichage, FCAT va nous dire que le résultat est excellent, alors que le ressenti montrera que le jeu n'est pas fluide du tout.
Il y a malheureusement énormément de confusion sur ce sujet très complexe, source de calvitie pour de nombreux développeurs de jeux vidéo PC. Une confusion probablement alimentée par le fait que trop de médias reprennent en cœur le message simplifié qui leur a été préparé par Nvidia, en ne prenant pas garde de ne pas mélanger tout et n'importe quoi au sujet de la régularité, de la fluidité, des saccades et micro-saccades. Leurs causes sont en réalité multiples, les solutions aussi et le Frame Pacing/Metering n'est pas une fin en soi. Il pourrait par exemple être intéressant de rendre dynamique l'activation de ces techniques pour optimiser leur utilité pratique, voire de calibrer leur fonctionnement non pas pour forcer strictement une cadence régulière mais également pour essayer de réduire certaines nuisances telles que le tearing qui survient sans synchronisation verticale (le délai introduit pourrait essayer de déplacer le tearing sur les bords supérieur/inférieur de l'image affichée à l'écran).
Contenus relatifs
- [+] 27/03: Pilotes Radeon et GeForce pour Far ...
- [+] 08/03: Radeon Software 18.3.1 optimisé pou...
- [+] 19/01: AMD Radeon Software 18.1.1
- [+] 12/12: AMD lance ses pilotes Radeon Adrena...
- [+] 30/11: Pilotes Radeon Software 17.11.4
- [+] 30/10: Pilotes GeForce 388.13 et AMD Radeo...
- [+] 26/10: Pilotes GeForce 388.00 et AMD Radeo...
- [+] 11/10: Pilotes Radeon Software 17.10.1
- [+] 22/09: AMD Radeon Software 17.9.2, mGPU po...
- [+] 08/09: Pilotes Radeon Software 17.9.1