DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Introduction et système de test

Nous avons déjà eu l’occasion de parler en détail des améliorations impressionnantes de DirectX 12 pour l’exploitation de toute la puissance des GPU actuels et futurs. La nouvelle API de Microsoft permet aux développeurs de se rapprocher au maximum du GPU pour profiter de tout leur potentiel. La première API du genre était Mantle, signée AMD, et le concurrent principal de DirectX, OpenGL, vient aussi de finaliser sa nouvelle API similaire : Vulkan. Sans oublier l’API Metal d’Apple, conçue pour assurer les mêmes bénéfices.

Nous avions aussi pu essayer la première version de Ashes of the Singularity lors de notre test de la Radeon R9 Nano, en constatant d’énormes bénéfices en termes de performances. La beta 2 nous permet d’aller plus loin dans nos tests, notamment grâce à de meilleurs pilotes graphiques, en comparant quatre des meilleurs GPU d’AMD, face à quatre mastodontes de NVIDIA.

Image 1 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Image 2 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Le jeu de stratégie en temps réel Ashes of the Singularity est intéressant car il est très poussé graphiquement, et demande aussi beaucoup de ressources pour assurer l’intelligence artificielle des unités en jeu. Il a de quoi vraiment exploiter la parallélisation des calculs et les optimisations CPU et GPU qu’apportent DirectX 12. Pour rappel, DirectX 12 permet d’exécuter simultanément plusieurs tâches qui étaient auparavant alignées l’une derrière l’autre dans une file d’attente commune. Le gain potentiel de performances est immense… En théorie. En pratique, il faudra voir comment les développeurs soignent leurs optimisations.

Image 3 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Image 4 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Côté GPU, il semble qu’AMD ait pris de l’avance dans la mise en place de ces calculs asynchrones depuis plusieurs génération de GPU (Tonga, Fidji et Haiwai). Les puces graphiques d’AMD semblent mieux préparées que celles de Nvidia (Kepler, Maxwell). Les tests qui suivent vont tirer ça au clair, sous DirectX 12.

Image 5 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Configuration de test :

Caractéristiques
Configuration
Intel Core i7-5930K @4,2 GHz
Watercooling Alphacool (Bloc Nexxxos, Pompe VPP655, Radiateur 240 mm)
RAM Crucial Ballistix Sport, 4 x 4 Go DDR4-2400
MSI X99S XPower AC
1x Crucial MX200, 500-Go-SSD (Système)
1x Corsair Force LS 960-Go-SSD (Applis, données)
Alimentation Be Quiet Dark Power Pro, 850W
Windows 10 Pro (à jour)
Pilotes
AMD: Radeon Software 15.301 B35 (beta presse, février 2016)
Nvidia: 361.91 WHQL
Jeu de testAshes of the Singularity Beta 2

Nous avons recueilli nos résultats avec un logiciel de journalisation stockant toutes les données utiles afin de mieux comparer les performances de chaque carte et comprendre le comportement de toute la machine, sans se limiter au simple nombre d’images par seconde.

Image 6 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Images par seconde, temps de rendu et fluidité

Images par seconde

Le test classique consistant à calculer le nombre d’images par seconde moyen et minimum n’est pas inintéressant. Nous l’avons effectué dans trois définitions différentes (Full HD, WDHD et UHD).

Les cartes sont au coude à coude, mais ces chiffres moyens sont parfois trompeurs face à l’impression subjective de fluidité que l’on peut avoir devant l’écran. Nous le verrons par la suite. Le graphique suivant permet de détailler les comportements de chaque carte graphique dans le temps au cours du test, en fonction des différentes charges qui leur sont appliquées (toujours en images par seconde).

Temps de rendu d’image

Ce test colle beaucoup plus à l’impression de fluidité subjective que l’œil humain perçoit face à l’écran. Il consiste à mesurer le temps de rendu de chaque image affichée à l’écran. Ce graphique permet de mieux comprendre l’origine des micro-saccades que l’on ressent visuellement par rapport au nombre brut d’images par seconde des premiers tests.

Les graphiques étant assez chargés, cette image permet de bien se rendre compte du temps de rendu d’image entre une GTX 980 Ti 6G et une R9 Fury X en définition WQHD. La carte d’AMD offre un rendu plus constant et donc subjectivement plus fluide.

Image 7 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Fluidité réelle

Cet autre graphique permet de mettre en évidence les variations du temps de rendu de chaque image, pour encore mieux se rendre compte de la fluidité réelle qu’apporte chaque carte graphique dans la même situation de test.

Là encore, ce graphique isolant deux cartes dans la même définition montre que le rendu de la R9 Fury X est beaucoup plus constant, et donc nettement plus fluide à l’œil nu.

Image 8 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Conclusion provisoire

Dans les scènes les plus lourdes, notamment lorsque l’intelligence artificielle nécessite beaucoup de ressources, les cartes AMD semblent globalement plus à l’aise dans le rendu des scènes de jeu. Il est toutefois important de rappeler que cet unique test ne nous permet pas de tirer des conclusions plus générales quant au comportement des différentes cartes graphiques en présence dans d’autres jeux et d’autres configurations PC.

Image 9 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Limitations du temps de rendu

Limitations et pertes de temps

Ces deux illustrations montrent la répartition très inégales des différentes étapes de la chaîne de rendu d’image sous DirectX 11 au niveau du processeur central. La parallélisation est largement plus efficace avec DirectX 12, qui répartit beaucoup mieux les étapes de rendu sur les différents cœurs disponibles. Le temps d’affichage total de chaque image diminue alors considérablement.

Image 10 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Image 11 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Nombre d’appels GPU par image

Premier constat : tous les GPU comparés sont sollicités de manière presque identique par le processeur et les pilotes.

Taux d’occupation CPU

Voici maintenant le taux de charge du processeur pour chaque carte graphique. Plus la carte est puissante et débite d’images par seconde, plus le processeur est sollicité.

Bridage par le CPU

C’est ici que les choses se compliquent : lorsque le processeur est engorgé et qu’il ne parvient pas à paralléliser suffisamment ses calculs pour fournir à temps les informations nécessaires à la carte graphique. Lorsque la limite de la capacité de traitement du processeur est atteinte (ici par un manque de parallélisation puisque le taux d’occupation total du CPU ne dépasse jamais les 100 % dans le précédent test), le GPU doit attendre le CPU pour afficher les images suivantes.

C’est ici que les quatre cartes Nvidia de notre comparatif semblent en difficultés face aux quatre cartes AMD. Ces dernières n’attendent presque jamais le CPU et tirent donc mieux partie de toute leur puissance.

Temps consommé par le pilote graphique

Le pilote graphique est à l’origine d’une partie non négligeable du temps de rendu des images. Encore une fois, plus la carte est rapide et délivre d’images par seconde, plus le temps monopolisé par le pilote est conséquent. Ici, pas de différence significative entre cartes graphiques de même puissance.

Temps d’affichage

A la fin de la chaîne de traitement de d’image, le temps d’affichage de l’image dépend fortement de la charge du processeur précédent cette étape, mais aussi de la puissance brute du GPU. C’est pourquoi les résultats sont très différents en fonction des cartes et des définitions de test.

Conclusion provisoire

Encore une fois, il est trop tôt pour généraliser, mais AMD semble, dans ce test, largement en avance dans le domaine de parallélisation et des processus asynchrones afin que le processeur graphique n’ait pas à attendre le processeur central. La question de l’impact de cet avantage en pratique dans les futurs jeux DirectX 12 reste toutefois à déterminer.

Multi-GPU

SFR : la nouvelle méthode de rendu multi-GPU de DirectX 12

Le rendu d’image multi-GPU sous DirectX 11 consistait à faire calculer une image par une carte et la suivante par la seconde carte, l’une après l’autre. Cette méthode AFR (Alternating Frame Rendering) laisse désormais sa place au SFR (Split Frame Rendering) sous DirectX 12. Le SFR consiste à partager le calcul de la même image par les deux cartes graphiques en même temps.

Premier avantage : il n’y a plus besoin de distribuer les mêmes données en double, sur la mémoire de chaque carte graphique. D’autre part, les cartes n’ont plus à s’attendre entre elles pour calculer l’image suivante, ce qui va grandement améliorer la fluidité visuelle du rendu. Le SFR divise chaque image en plusieurs carrés attribués à chaque carte graphique, de manière similaire au rendu parallélisé du raytracing. Du coup, les deux cartes utilisent uniquement les ressources dont elles ont besoin en mémoire. Par ailleurs, ce système permet de mieux faire fonctionner ensemble des GPU de puissance différente.

Image 12 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Image 13 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Performances

La puissance de cartes en multi-GPU étant très élevée, elle entraîne une surcharge du CPU dans les conditions précédentes de test. Nous avons donc monté les détails du jeu au maximum, et effectué les tests en définition Ultra-HD pour ne pas être limité par le processeur.

Image 14 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Avec le graphique suivant, on peut constater que les différences sont grandes, notamment dans le nombre d’image minimum délivré par les différents couples de cartes graphiques en présence. Les valeurs moyennes d’images par seconde sont donc parfois assez trompeuses.

Image 15 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Les temps d’affichage des images sont cette fois assez similaires entre les cartes AMD et Nvidia en SLI et CrossFire.

Image 16 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Cette fois, les variations entre les temps d’affichage successifs des images sont très faibles, ce qui montre que tous les couples de cartes offrent une très bonne impression de fluidité. DirectX 12 devrait donc fait très plaisir aux possesseurs de cartes graphiques en SLI et CrossFire !

Image 17 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Le nombre d’instructions envoyées au GPU est toujours très similaire entre les différentes configurations.

Image 18 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

En revanche, tous les couples de GPU sont bridés par le processeur central. Ce qui montre une certaine limite dans la parallélisation des tâches CPU avec un SLI ou un CrossFire très demandeur en ressources.

Image 19 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Image 20 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Le temps occupé par le pilote graphique adopte un comportement similaire en fonction des couples de cartes.

Image 21 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Le temps de présentation finale de l’image tourne encore une fois à l’avantage des carte R9 Fury X d’AMD, leur apportant un léger avantage en termes de perception visuelle de la fluidité des scènes affichées.

Image 22 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Conclusion

Beaucoup de problèmes à gérer

Nous tenons tout d’abord à préciser que ces tests ont fait suer nos testeurs, surtout pour la partie multi-GPU, à cause de nombreux problèmes, notamment dus au fait que le jeu Ashes of the Singularity ne s’exécute pas en mode plein écran exclusif, mais dans une fenêtre sans cadre en premier plan. Ce détail rend le benchmark très sensible à de nombreux paramètres, notamment en mode Ultra-HD. Plusieurs mises à jour de Windows 10 furent nécessaires pour régler de nombreux problèmes causés par la jeunesse du système d’exploitation.

Image 9 : DirectX 12 : 8 cartes graphiques comparées sur Ashes of the Singularity Beta 2

Conclusion

Si AMD semble avoir une bonne avance avec ses puces actuelles pour exploiter les avantages de DirectX 12, il reste une question d’importance : où sont les jeux pour en profiter ? Il ne faut pas non plus être trop en avance sur son temps. La révolution DirectX 12 ne profitera sûrement qu’aux nouvelles générations de carte graphiques, lorsque des architectures comme Fidji ou Maxwell appartiendront déjà à l’histoire récente des cartes graphiques.

On pense donc évidemment aux futures cartes graphiques basées sur les architectures Pascal de Nvidia et Polaris d’AMD. Elles devront, pour le coup, être prêtes à profiter au maximum de tous les avantages apportés par DirectX 12. L’année 2016 sera très certainement l’une des plus intéressantes de l’histoire de la course entre AMD et NVIDIA.