HardWare.fr


AMD Radeon HD 5870 et 5850
Cartes Graphiques
Publié le Mercredi 23 Septembre 2009 par Damien Triolet

URL: /articles/770-1/amd-radeon-hd-5870-5850.html


Page 1 - Introduction



Avec les Radeon HD 5800, AMD ouvre le bal des cartes graphiques de la génération DirectX 11 ou plutôt devrions-nous dire Direct3D 11. Au menu, Cypress, un nouveau GPU qui propose bien entendu le support complet de la nouvelle API, exploite le procédé de fabrication 40 nanomètres et affiche une puissance de calcul qui explose. De quoi révolutionner le genre ?



AMD premier sur Direct3D 11
Depuis quelques temps, la division graphique d’AMD est en pleine forme et nous a agréablement surpris à plusieurs reprises. Première sur la révision mineure de Direct3D 10, première sur la GDDR5, successivement première sur le 55 nanomètres, puis sur le 40 nanomètres… Force est de constater que les développements positifs se sont enchainés à une cadence soutenue et l’arrivée de la nouvelle gamme Radeon HD 5000 en est l’aboutissement.

Elle nous replace également dans le cycle classique qui se répète depuis quelques temps. Nvidia premier sur DirectX 8, AMD (ATI à l’époque) premier sur DirectX 9, Nvidia premier sur Direct3D 10, l’alternance est donc respectée. Etre premier sur une nouvelle révision majeure de l’API graphique la plus utilisée est un avantage stratégique important puisque l’on se transforme de fait en plateforme de référence auprès des développeurs.

Si AMD lance ce jour 2 variantes de Cypress, la Radeon HD 5870 et la Radeon HD 5850 (que nous n’avons pas encore pu tester), le fabricant ne compte pas en rester là et tout le reste de la gamme va suivre. Les dérivés bi-GPU, Hemlock, et de milieu de gamme (Juniper) sont attendus pour la fin du mois d’octobre ou pour novembre. Enfin, dès le début de 2010, 2 autres cores feront leur apparition pour inonder l’entrée de gamme : Redwood et Cedar.


Si AMD se veut rassurant quant à l’exécution de cette roadmap, elle dépendra avant toute chose de TSMC et des progrès faits au niveau de ses lignes de production en 40 nanomètres. Celles-ci ont soufferts de nombreux problèmes et empêché AMD de produire le GPU RV740 de la Radeon HD 4770 en masse. En principe ces problèmes devraient être réglés, mais il faudra attendre quelques semaines pour s’en assurer.


Page 2 - Direct3D 11

Direct3D 11
Notez tout d’abord que les évolutions présentées ici concernent Direct3D 11, même si par abus de langage il y est souvent faire référence en tant que DirectX 11. Nous utiliserons ici le terme Direct3D, mais l’usage courant fait que vous rencontrerez souvent DirectX 11 pour représenter la même chose.

Si Direct3D 10 permettait avant tout de jeter de nouvelles bases, Direct3D 11 permet enfin de les rendre intéressantes. Au menu, de grosses nouveautés et un retour au support de toutes les générations de cartes graphiques. C’était là LE point noir de l’API actuelle et Microsoft l’a bien compris.

Ainsi, Direct3D 11 sera disponible pour Windows Vista. En fait il l’est déjà à condition d’activer cette mise à jour via un script  pour qu’elle apparaisse dans Windows Update. Il sera également compatible avec les cartes Direct3D 10... et DirectX 9. Microsoft anticipant et encourageant ici une évolution massive de Windows XP vers Windows 7 pour les joueurs qui avaient boudé Vista. Pour cela, Microsoft a dû redévelopper une nouvelle API compatible Direct3D 9, ce qui s’est fait à partir de Direct3D 10. Microsoft s’est arrangé pour que les fonctions soient équivalentes aux anciennes de manière à ne pas entrainer trop de charge du côté des fabricants de cartes graphiques qui n’auraient pas été d’avis de soutenir un développement coûteux pour des anciens produits. Avec Direct3D 11 il sera donc possible d’exploiter les cartes DirectX 9 aussi bien à travers Direct3D 10 qu’à travers Direct3D 11. Voici les 6 niveaux de fonctionnalités supportés par Direct3D 11 :

D3D_FEATURE_LEVEL_9_1 : niveau Direct3D 9 et shader 2.0 basique, destiné aux chipsets intégrés Intel et aux GeForce FX.
D3D_FEATURE_LEVEL_9_2 : niveau Direct3D 9 et shader 2.0 plus évolué, destiné aux Radeon 9700 et supérieures.
D3D_FEATURE_LEVEL_9_3 : niveau Direct3D 9 et shader 3.0, pour les Radeon X1000 et les GeForce 6/7.
D3D_FEATURE_LEVEL_10_0 et 10_1 : correspondent aux versions classiques de Direct3D 10 et peuvent supporter optionnellement via un nouveau pilote les formats étendus pour les buffers ainsi que Compute-on-10, les compute shaders en version 4.0 et 4.1.
D3D_FEATURE_LEVEL_11 : représente le support complet de toutes les fonctions de Direct3D 11

Avant de décrire en détails les trois plus grosses nouveautés de la nouvelle API, mentionnons les deux plus petites qui ne sont pas moins importantes. La première est la possibilité d’assembler des petits bouts de code pour composer les shaders. Une technique qui permet de simplifier leur création et d’éviter aux développeurs de créer un gros shader peu efficace ou des milliers de shaders spécifiques à chaque cas particulier.

Ensuite l’API introduit de nouvelles techniques de compression des textures, BC6 et BC7, respectivement optimisées pour compresser les images HDR et les normal maps qui ne peuvent pas être compressées efficacement avec les techniques classiques.


Multithreading
La première grosse nouveauté de Direct3D 11 se situe au niveau du mutlithreading pour la première fois supporté au niveau de l’API. Actuellement le gros morceau du moteur 3D n’est composé que d’un seul thread pour le rendu, avec des petits threads pour la physique, le son, l’IA etc. Le pilote graphique peut arriver à trouver des opportunités de multithreading, mais cela reste limité. Avec la nouvelle API il sera possible de multithreader efficacement le cœur du moteur de rendu. Pour cela Microsoft introduit le mode de rendu différé en plus du mode immédiat.

Attention à ne pas le confondre avec les moteurs de rendu différé utilisés dans certains jeux comme S.T.A.L.K.E.R. puisqu’il s’agit là d’une technique de rendu. Dans le cas de Direct3D 11 il s’agit de remplir un buffer de commandes dans un premier temps et de le traiter dans un second temps, les 2 étapes pouvant être parallélisées. Ironiquement nous pouvons voir cela comme un retour aux premières versions de Direct3D qui étaient plutôt décriées. Mais en pratique c’est cette fois l’API elle-même qui se charge de tout d’une manière transparente bien qu’une amélioration du GPU permette de rendre la méthode plus efficace encore.


Plus en détail il est possible d’utiliser de nombreux petits threads indépendants pour remplir le buffer de commandes. Microsoft a fait le nécessaire pour que les développeurs n’aient pas à se soucier de la plupart des problèmes de synchronisations entre threads ce qui est la partie la plus complexe et un frein au multithreading. Passer à ce mode de rendu différé a cependant un coût qui ne sera justifié que par la nécessité d’utiliser plusieurs threads.

Nous avons pu tester cela sur une Radeon HD 4890 avec une démo fournie par Microsoft dans son SDK et qui tourne sur toutes les cartes Direct3D 10. Celle-ci représente une scène limitée par le CPU,

- Rendu en mode immédiat : 55 fps
- Rendu en mode différé non-multithreadé : 48 fps
- Rendu en mode différé multi-threadé : 78 fps


Tessellation
Enfin ! Après de nombreuses hésitations et rétractions à chaque développement de nouvelle API, Microsoft a intégré la tessellation. Pour rappel, il s’agit d’une technique qui permet de subdiviser les polygones, en général des triangles, de manière à ajouter des détails géométriques. Si elle semble simple, la réalité est plus complexe compte tenu des nombreuses méthodes pour la division, de la nécessité de bien positionner les nouveaux petits triangles et d’utiliser un niveau de détail variable.

Depuis les Radeon HD 2000 tous les GPUs d’ATI intègrent une unité de tessellation fixe. Le problème est que pour être utilisée d’une manière flexible il faut recourir à plusieurs astuces et plusieurs passes, ce qui n’est pas toujours très pratique. Elle n’a d’ailleurs jamais été utilisée. Avec Direct3D 11, en plus de l’unité de tessellation fixe, Microsoft a ajouté 2 nouveaux types de shaders destinés à la contrôler. Le premier, le hull shader va se charger de préparer les données, de calculer le facteur de tessellation (pour subdiviser plus ou moins) et les point de contrôles qui seront nécessaires pour mettre en place par la suite le maillage plus fin puisque l’unité de tessellation se contente simplement de diviser les triangles en plus petits triangles. Ils restent donc « plats » ce qui n’apporte aucun intérêt en tant que tel. Le facteur de tessellation, qui doit être spécifié pour chaque côté de chaque triangle est important pour le niveau de détail. S’il est fixe, il risque de générer des trop petits triangles qui vont massacrer les performances puisque les pixel shaders travaillent au minimum sur des blocs de 2x2 pixels, en plus d’ajouter de la charge par rapport à leur nombre. D’où l’importance d’utiliser des algorithmes de tessellation adaptatifs.


Le second shader, le domain shader, va se charger de déformer le maillage pour profiter d’une géométrie plus détaillée. Plusieurs techniques sont possibles suivant ce que le développeur veut, d’où l’obligation de passer par des shaders programmables. Par exemple le domain shader peut être utilisé pour arrondir, lisser les surfaces. Dans ce cas il va utiliser les points de contrôle en provenance du hull shader comme repère pour arrondir le maillage. Il est également possible d’utiliser une texture pour faire du displacement mapping et cette fois ajouter de vrais détails géométriques au lieu de les simuler avec du bump mapping. Une technique dont nous parlons depuis de nombreuses années et qui devient enfin réalité.



Compute shaders
La dernière grosse nouveauté introduite par Direct3D 11 se nomme compute shader ou DirectCompute. C’est un nouveau type de shader qui permet d’utiliser la puissance de calcul des GPUs d’une façon généraliste, en dehors du pipeline de rendu 3D classique. Grossièrement il s’agit de la version de Microsoft de l’OpenCL. Les compute shaders présentent l’intérêt d’être standardisés et donc d’être supportés directement sur toutes les cartes graphiques compatibles, contrairement à OpenCL qui a laissé toutes les portes ouvertes. L’autre intérêt, principalement en version 5.0, est qu’ils sont prévus pour interagir efficacement avec un rendu 3D dans DirectX, ce qui simplifie leur utilisation pour le calcul de la physique ou d’une géométrie non polygonale ou encore pour les effets de post processing. Ceux-ci sont actuellement traités via un pixel shader mais ce n’est pas toujours très efficace. Les compute shaders vont permettre assez simplement d’améliorer les performances pour ce type d’effets.

Pour faciliter leur introduction, Microsoft n’a pas ajouté uniquement des compute shader au niveau 5.0, mais également au niveau 4.0 et 4.1, de quoi permettre aux cartes graphiques de la génération DirectX 10 et 10.1 de les supporter, avec quelques limitations bien entendu. Du côté de Nvidia, tous les GPUs depuis les GeForce 8 sont compatibles avec les compute shaders 4.0 depuis les pilotes 190.62 alors que du côté d’AMD, seules les Radeon HD 4600 et 4800 pourront obtenir la compatibilité au niveau 4.1, si AMD développe de tels pilotes. Les Radeon HD 2000, 3000 et 4300/4500 ne pourront pas y prétendre puisqu’elles ne disposent pas de mémoires partagées entre les threads exécutés au sein d’un même groupe.


Page 3 - RV870 ou Cypress

RV870 ou Cypress
Pour implémenter le support complet de Direct3D 11, AMD a dû développer un nouveau GPU, comme vous devez vous en douter. Les changements à apporter à son architecture étaient cependant mineurs puisqu’avec le support de Direct3D 10.1 et l’intégration depuis plusieurs générations d’une unité de tessellation, les Radeon HD 4000 n’étaient pas bien loin de Direct3D 11. C’est en partie ce qui explique qu’AMD arrive en avance sur Nvidia.


Cypress, le nom de code du GPU également appelé RV870, reprend une architecture semblable à celle des Radeon HD 4800 et 4700, mais double le nombre d’unités d’exécution et atteint la bagatelle de 2.15 milliards de transistors entassés dans 334 mm² ! De quoi afficher 2.72 teraflops au compteur.



20 SIMDs
Le GPU des Radeon HD 5800 est composé de grosses unités SIMD larges de 2560 bits qui se décomposent en 16 processeurs vec5. AMD parle ici de 80 cores par unités SIMD, mais c’est selon nous un abus de langage similaire à celui que fait Nvidia et qui est destiné à mettre un avant le GPU par rapport au CPU. Ceci étant dit, si AMD a conservé la structure de ses unités d’exécution, le nombre de SIMDs a été doublé et passe de 10 à 20, soit de 160 processeurs vec5 à 320 ou encore de 800 à 1600 cores.


La structure interne des processeurs vec5 reste globalement similaires et de type 4 +1. Les 4 premières unités sont identiques et peuvent exécuter soit une instruction FP32 simple par cycle, une instruction INT24 par cycle, une addition FP64 en 2 cycles ou une multiplication (ou multiplication + addition) en 4 cycles. La 5ème unité est distincte et peut traiter soit une opération FP32 simple par cycle, soit une instruction INT32 par cycle soit une fonction spéciale en FP32 par cycle.

Evolution importante, Cypress supporte le nouveau standard IEEE754-2008 qui est requis par Direct3D 11. Celui-ci ajoute principalement le support de l’instruction FMA (Fused Multiply Add) qui part rapport à l’instruction MAD (Multiply Add) classique permet de conserver la totalité du résultat intermédiaire de la multiplication pour plus de précision. Compte tenu de la manière dont fonctionnent les nombres flottants, cela permet de traiter très efficacement d’autres instructions. AMD en a profité pour rendre le produit scalaire plus efficace et câblé l’instruction SAD (Sum of Absolute Difference) qui permet d’accélérer fortement certains algorithmes.

Exploiter une unité vec5, en opposition à une unité qui a un comportement scalaire comme dans les GPUs Nvidia, requiert un travail supplémentaire de la part du compilateur qui va devoir essayer de trouver 5 instructions indépendantes à exécuter en parallèle. C’est souvent impossible, ce qui explique l’efficacité moindre, par unité, de ce type d’architecture. En contrepartie, elle permet à AMD de placer beaucoup plus d’unités dans ses GPUs.

Chaque SIMD dispose de 16384 registres de 128 bits, comme les générations précédentes, de manière à supporter un nombre important de threads et ainsi masquer les latences autant que possible.

En plus des unités arithmétiques, chaque processeur vec5 dispose d’une unité dédiée au traitement des branchements qui sont donc gratuits au niveau des performances, tout du moins s’il n’y a pas de divergence puisque chaque SIMD travaille sur des blocs de 64 threads (contre 32 chez Nvidia). Dès qu’une divergence se manifeste entre les threads, les 2 branches doivent être exécutées successivement avec un masque pour n’écrire les résultats que pour les threads qui les empruntent.

Toujours pour coller à Direct3D 11, chaque SIMD voit sa mémoire partagée passer de 16 Ko (Radeon HD 4600 à 4800) à 32 Ko. Une mémoire partagée globale à tous les SIMDs de 64 Ko est proposée en supplément et exposée dans OpenCL via une extension.

Les unités de texturing restent par contre similaires, soit 4 par SIMD. AMD indique cependant avoir augmenté la bande passante vers le cache L1 ce qui devrait améliorer leur rendement.


Double rasterizer ?

Dans les documentations d’AMD, la mise en avant d’un double rasterizer nous a fait penser que Cypress serait le premier GPU à pouvoir traiter 2 triangles par cycle puisque pour rappel, il s’agit jusqu’ici de la seule étape qui n’a pas été parallélisée. Le faire représente plusieurs défis et nous avons un instant pensé qu’AMD y avait trouvé une solution. En réalité, questionné à ce sujet, le fabricant nous a indiqué qu’il s’agit simplement d’un détail d’implémentation et qu’il n’y a en réalité qu’un setup engine et donc qu’un triangle traité par cycle. Au lieu d’un rasterizer complexe pour se charger de leur découpe en pixels, ce sont 2 plus simples qui ont été implémentés, mais cela revient au même.

Notez que comme dans les GPUs précédents, la tessellation repose bien sur une unité fixe (elle pourrait l’être via un programme exécuté dans les SIMDs). Par contre les interpolateurs ont disparus et ce sont les unités de calcul qui se charge de l’interpolation.


ROPs doublés et bus de 256 bits
Tout comme pour le RV740, AMD a doublé le nombre de ROPs par contrôleur mémoire. Si nous restons sur 4 contrôleurs 64 bits, pour un bus mémoire total de 256 bits, Cypress intègre donc 32 ROPs. Pour supporter cette charge supplémentaire, le cache L2 de chaque contrôleur est doublé et atteint 128 Ko.

Alors que la puissance de calcul a doublé, le bus mémoire reste lui inchangé et AMD ne pourra que compter sur de la mémoire GDDR5 plus rapide pour alimenter son nouveau GPU. Il est évident que le rapport puissance de calcul / bande passante mémoire va donc changer significativement et dans certains cas il risque de limiter Cypress.


Page 4 - Spécifications, Radeon HD 5870 et 5850

Spécifications
AMD lance aujourd’hui 2 déclinaisons de Cypress : les Radeon HD 5870 et 5850. Les spécifications de ces cartes varient au niveau des fréquences, mais également au niveau des unités de calcul puisque 2 SIMD sur le 20 sont désactivés, ce qui porte le nombre d’unités de calcul vec5 de 320 à 288 ou encore le nombre de « cores » de 1600 à 1440.


Par rapport à la Radeon HD 4890, la Radeon HD 5850 apporte une puissance de calcul et de texturing supplémentaire de 50%, pour une bande passante mémoire similaire. La Radeon HD 5870, de son côté, double la puissance de calcul, et associe cela à une augmentation de 23% de la bande passante mémoire.

Par rapport à la Radeon HD 4870 X2, la Radeon HD 5870 affiche une puissance de calcul identique, mais une bande passante inférieure. Par contre elle ne souffrira pas de l’efficacité moindre d’un système multi-GPU.


Radeon HD 5870
Pour ce test, AMD nous a fourni une Radeon HD 5870 de référence :





La Radeon proposer 2 sorties DVI Dual-Link, une sortie HDMI et une sortie DisplayPort, soit une connectique numérique complète mais qui ne laisse pas beaucoup de place pour le grille d’évacuation de l’air chaud. Heureusement, ce n’est pas un souci comme nous allons le voir dans les tests.

Son design double slot est plutôt soigné et elle reçoit un carter arrière, comme sur les premières GeForce GTX 200. Malheureusement, l’aspect esthétique a primé sur l’aspect pratique puisque la coque de la carte dépasse à l’arrière de 15mm, ce qui allonge un PCB déjà très grand puisqu’il mesure 270mm comme sur les Radeon HD 4870 X2 et les cartes haut de gamme de Nvidia. Avec 285mm au total, la carte ne rentrera pas dans tous les boitiers. De notre côté, nous avons dû forcer un petit peu pour qu’elle prenne place dans le Sonata 3 d’Antec, mais elle a fini par y rentrer.


Deux alimentations PCI Express 6 broches sont nécessaires au fonctionnement de la Radeon HD 5870 qui reçoit un étage d’alimentation amélioré et cette fois monitoré par le GPU pour éviter qu’il surchauffe, se mette en protection et coupe sèchement la carte.

La mémoire GDDR5 est signée Samsung et certifiée à 1250 MHz, soit 2500 MHz pour l’envoi des données et un débit de 5 Gbps.


Radeon HD 5850
La Radeon HD 5850 reprend une connectique identique ainsi qu’un design similaire, sans la coque arrière et plus court, de la même taille que celui des Radeon HD 4870 et 4890 :





Deux connecteurs d’alimentations 6 broches sont nécessaires à son fonctionnement. La mémoire est également identique à celle de sa grande sœur et est certifiée à 1250 MHz.


Page 5 - Consommation, bruit et températures

Consommation
Les données sont obtenues à partir des mesures effectuées à la sortie de la prise de courant : il s’agit donc de la consommation totale de l’alimentation de la machine, ici une Cooler Master Real Power PRO 1250 watts.


AMD a fait un très bon travail au niveau de la consommation au repos. En charge, l’utilisation du 40 nanomètres permet de ne pas faire exploser la consommation malgré le doublement de la puissance de calcul.


Nuisances sonores
Nous mesurons d'une part le bruit au repos et d'autre part le bruit au bout de 30 minutes de charge, le système de test n'étant pas à l'air libre mais dans un boitier Sonata 3.


Au repos, les Radeon HD 5800 ne produisent pas plus de bruit que le reste du système qui est relativement silencieux. Elles se placent donc ici dans les cartes haut de gamme qui produisent le moins de nuisances sonores, c’est également le cas en charge puisque la Radeon HD 5870 est légèrement plus silencieuse qu’une GeForce GTX 285 ou qu’une Radeon HD 4890 alors que la Radeon HD 5850 se comporte encore mieux.

Températures
Nous avons relevé la température du GPU rapportée par la sonde interne :


L’excellent travail fait par AMD sur la consommation au repos porte ici ses fruits et le GPU reste sous les 40 °C pour la Radeon HD 5870.

Nous avons observé cela plus en détail à travers l’imagerie thermique :


Radeon HD 5850 au repos


Radeon HD 5870 au repos


Radeon HD 5850 en charge


Radeon HD 5870 en charge

Ces images confirment le très bon comportement thermique de ces Radeon HD 5800.


Page 6 - Tests théoriques

Nouvelle architecture oblige, nous avons exécuté quelques tests théoriques.


Débit de triangles
Etant donné la confusion au niveau du double rasterizer, nous avons vérifié le débit en termes de triangles par secondes :


La Radeon HD 5870 se comporte donc comme les autres cartes puisqu’elle ne dispose que d’un setup engine. Par contre elle arrive plus facilement à s’approcher des maximums théoriques.


Performances texturing
Nous avons mesuré les performances lors de l’accès à des textures de différents formats en filtrage bilinéaire. Nous avons conservé les résultats en 32 bits classique (8x INT8), en 64 bits "HDR" (4x FP16) et en 128 bits (4x FP32). Nous avons ajouté pour information les performances en 32 bits RGB9E5, un nouveau format HDR introduit par DirectX 10 qui permet de stocker des textures HDR en 32 bits avec quelques compromis.


La Radeon HD 5870 se montre ici plus efficace que la Radeon HD 4890 qui était limitée par ses 32 interpolateurs et donc à 27.2 GTexels/s alors que ses unités de texturing sont capables de 34 GTexels/s. Cette limite disparait avec la Radeon HD 5870 puisqu’il n’utilise plus de tels interpolateurs fixes et charge le shader core de cette tâche qui en contrepartie occupe une petite partie de la puissance de calcul.

Vous remarquerez que la GeForce GTX 285 n’est pas capable de traiter les textures RGB9E5 à pleine vitesse, contrairement aux Radeon.


Performances ROPs
Tout d’abord, nous avons mesuré les performances en débit de données Z :


La Radeon HD 5870 double ici le débit de la Radeon HD 4890.

Nous avons ensuite mesuré le fillrate sans et puis avec blending, et ce avec différents formats de données :


Si la Radeon HD 5870 double les débits par rapport à la Radeon HD 4890 en 32 bits, elle est limitée par sa bande passante mémoire en 64 et 128 bits. Vous remarquerez que contrairement aux GeForce GTX 285 et Radeon HD 4890, elle est capable de traiter le format HDR économe à base de FP10 à pleine vitesse.


Nous retrouvons un comportement similaire avec blending, si ce n’est que la bande passante mémoire devient une limite encore plus importante.


Performances branchements
Les GPUs exécutent leurs instructions sur des groupes de threads, de 32 dans le cas des GeForce et de 64 dans celui des Radeon, ce qui est un problème pour les branchements. S’il y a une divergence au niveau de la branche empruntée parmi les threads d’un groupe, les deux branches doivent être calculées successivement, avec un masque pour appliquer le résultat uniquement aux threads qui les empruntent.

Pour mesurer les performances à ce niveau, nous avons développé un petit test qui nous permet de modifier la granularité du branchement, c'est-à-dire le nombre moyen, dans notre exemple, de pixels consécutifs qui vont prendre une même branche. Nous spécifions la branche à prendre par colonne virtuelle de pixels, une colonne sur 2 doit afficher un shader complexe et l'autre peut passer cette partie du rendu. Des triangles de taille moyenne en mouvement sont affichés à l'écran et traversent ces colonnes qui utilisent différentes branches, ce qui implique que tant les triangles et leur position que la taille de la colonne influent sur l'efficacité du branchement ce qui est proche d'une situation réelle.


Avec des colonnes étroites, les GPUs ne peuvent pas profiter du branchement pour éviter la partie complexe sur la moitié des pixels, mais par contre doivent traiter les instructions de branchement. Heureusement, tous ces GPUs disposent d'une unité dédiée aux branchements qui travaille en parallèle et masque le coût de ces instructions. Les Radeon semblent cependant les seules à masquer complètement la latence des branchements.

La Radeon HD 5870 gagne ici en efficacité et monte plus rapidement à un rendement élevé que la Radeon HD 4890. Le rendement supérieur n’est par contre pas lié aux branchements, mais à la partie simple du shader qui est traitée plus efficacement sur la Radeon HD 5870, probablement par les petites améliorations apportées aux unités de calcul. La GeForce GTX 285 reste plus efficace encore grâce à son travail sur des groupes plus petits.


Page 7 - Test de la tessellation

Test de la tessellation
Nous avons testé la tessellation avec une démo d’AMD intégrée par Microsoft à son SDK de DirectX. Cette démo permet de comparer le bump mapping, le parallax occlusion mapping (la technique de bump mapping la plus avancée utilisée dans les jeux) et le displacement mapping qui exploite la tessellation.


Le bump mapping basique.


Le parallax occlusion mapping.


Le displacement mapping avec tessellation adaptative.

En créant de la vraie géométrie supplémentaire, le displacement mapping affiche une qualité nettement supérieure. Nous avons activé ici l’algorithme adaptatif qui permet d’éviter de générer de la géométrie inutile et trop de petits triangles qui ne vont pas remplir de quad et donc gâcher beaucoup de ressources.

Nous avons également mesuré les performances obtenues avec les différentes techniques :


Il est intéressant de remarquer que la tessellation ne se contente pas d’améliorer la qualité du rendu, mais également les performances ! Le parallax occlusion mapping est en fait très gourmand puisqu’il repose sur un algorithme complexe qui essaye de simuler la géométrie d’une manière réaliste. Malheureusement il génère beaucoup d’aliasing et le trucage est démasqué aux bords des objets ou des surfaces qui l’utilisent.

Notez cependant que dans le cas présent l’algorithme de displacement mapping est bien aidé par le fait qu’il s’agit d’une surface plane à la base. S’il faut lisser les contours de la géométrie et en même temps appliquer le displacement mapping, le coût sera bien entendu plus élevé.


Page 8 - Filtrage et antialiasing

Filtrage
Avec son nouveau GPU, AMD a légèrement amélioré la qualité du filtrage des textures, ce qui est en partie requis par Direct3D 11. Le calcul du LOD est ainsi plus précis, ce qui permet par exemple au filtrage trilinéaire de gagner en qualité, bien qu’en pratique la différence soit minime.

L’autre nouveauté est l’amélioration du filtrage anisotrope qui n’est maintenant plus dépendant de l’angle comme en témoigne cette comparaison avec l’ancienne génération quand le filtrage anisotrope 16x est activé :


Radeon HD 4890


Radeon HD 5870

Nous noterons cependant que si AMD dispose maintenant d’un filtrage anisotrope de meilleure qualité et si en pratique il était déjà globalement bon avant, Nvidia fait encore un petit peu mieux, mais uniquement quand le mode haute qualité est activé dans ses pilotes, ce qui a un coup parfois significatif sur les performances.

Antialiasing
AMD a également apporté une petite nouveauté au niveau de l’antialiasing avec l’introduction ou plutôt la réintroduction d’un mode de super sampling qui consiste à rendre la scène dans une résolution supérieure en en calculant tous les pixels. L’avantage est de pouvoir filtrer toute la scène (et donc de s’attaquer en partie à l’aliasing issu des shaders) et le désavantage est… que toute la scène est filtrée et donc moins nette.

Nous avons comparé dans Batman Arkham Asylum les performances des 3 modes d’antialiasing maintenant proposés : le multi sampling, l’antialiasing adaptatif (qui se charge des surfaces rendues à base de test alpha) et le super sampling.


L’incidence sur les performances est énorme. Voyons ce qu’il en est de la qualité :


De gauche à droite : MSAA, Adaptive AA et SSAA.

L’apporte de l’antialiasing adaptatif est discret, mais vous pouvez le remarquer sur la ligne blanche qui est posée avec un test alpha et dont les bords sont aliasés avec un simple multi sampling. Quant au super sampling, il lisse toute la scène. L’aliasing est réduit, mais certains détails sont perdus.


Page 9 - Jeux DirectX 11 contre jeux PhysX ?

Jeux DirectX 11 contre jeux PhysX ?
L’argument majeur de Nvidia pour contrer l’arrivée de la gamme DirectX 11 d’AMD est PhysX. Pour rappel, PhysX est un middleware, une bibliothèque de fonctions liées au calcul physique que les développeurs peuvent intégrer à leur moteur de façon à ne pas avoir à coder eux-mêmes toutes ces routines.

Après avoir racheté Ageia, le développeur de PhysX, Nvidia l’a progressivement mais rapidement porté pour l’architecture CUDA de ses GPUs. Ceux-ci peuvent maintenant en accélérer une grande partie des routines qui peuvent ainsi être utilisées à la base de certains effets graphiques. Le problème est que cette accélération est propriétaire et n’existe pas pour les GPUs concurrents. Le retour du Glide en quelque sorte.

Bien entendu, les développeurs sont réticents à utiliser des technologies propriétaires, mais Nvidia dispose d’arguments qui peuvent parvenir à en convaincre quelques-uns, notamment avec des partenariats au niveau de la communication, le prêt de développeurs pour aider sur une partie du travail mais également la mise à disposition d’outils qui permettent d’implémenter très facilement des effets qui utilisent le GPU à travers PhysX et avec lesquels il est possible d’améliorer sensiblement la qualité graphique de leurs titres.

A l’heure actuelles, 2 bons jeux font un usage très réussi de PhysX : Mirror’s Edge et Batman Arkham Asylum. Aussi puissante que soient les Radeon, l’accès à ces options leur est barré puisque le calcul de ces effets est forcé sur le CPU (avec une utilisation inefficace du multicore). Il est également impossible d’utiliser une GeForce pour cette accélération de PhysX et une Radeon pour le rendu. Cette possibilité existait il y a peu mais était impossible à utiliser sous Windows Vista compte tenu d’une limitation de l’OS qui n’accepte qu’un seul pilote graphique. Cela a changé avec Windows 7 et Nvidia s’est donc empressé de bloquer cette possibilité, probablement par peur de voir les utilisateurs actuels de GeForce conseillés de passer à une Radeon en conservant leur ancienne carte pour PhysX.

Dans le futur, si Nvidia veut que PhysX et les effets massivement parallèles, qui exploitent le GPU et entraînent un besoin plus important de puissance à ce niveau, se répandent dans un maximum de jeux, il faudra ouvrir l’accélération de PhysX à tous les joueurs. Mais dans l’immédiat, compte tenu du fait que ces techniques sont encore en plein développement, que les GeForce actuelles sont de plus en plus dépassées par les Radeon et que la nouvelle génération n’est pas encore prête, Nvidia a bien entendu décidé de s’accrocher autant que possible à cet avantage.

Qu’on apprécie ou pas la stratégie, il faut avouer que les 2 jeux cités ci-dessus sont nettement plus agréables avec les effets PhysX supplémentaires activés.

De son côté, AMD, ne disposant pas de technologies équivalentes, à décider d’en rester aux standards et met donc en avant l’arrivée des jeux DirectX 11 qui permettront à ses nouvelles Radeon de profiter d’effets graphiques supplémentaires (ou d’optimisations), mais sans en barrer la concurrence quand elle arrivera. Un premier jeu DirectX 11 est déjà disponible, il s’agit de Battleforge qui vient de recevoir un patch pour ajouter ce support. Malheureusement il est arrivé trop tard pour que nous le testions. Nous le ferons dès que possible.

En attendant voici la liste des premiers jeux DirectX 11 à venir et les informations que nous avons à leur sujet :

Battleforge : utilisation des compute shaders 5.0 pour améliorer les performances du SSAO, gains de 10 à 40% sur la Radeon HD 5870 selon AMD (disponible)
Colin McRae : DiRT 2 : utilisation des compute shaders 5.0 pour améliorer les performances et de la tessellation pour améliorer la qualité du rendu (12/2009)
S.T.A.L.K.E.R. : Call of Pripyat (11/2009)
Genghis Khan (2010)
Alien vs Predator : utilisation de la tessellation (2010)
Lord of the Rings Online (2010)
Dungeons & Dragons Online : Eberron Unlimited (2010)


Page 10 - Eyefinity

Eyefinity
Il y a 2 semaines, AMD a levé un coin du voile concernant les Radeon HD 5800 en présentant une des nouveautés qu’elles introduisent : Eyefinity. Cette technologie représente les capacités multi-moniteur de la nouvelle gamme de Radeons qui ont été étendues.

Avec Eyefinity, les Radeons 5800 disposent de 6 pipelines d’affichages 10 bits qui alimentent 2 DAC (pour des ports VGA) et 6 TMDS/DP (pour les sorties DVI/HDMI/DP). Ceci permett de supporter jusqu’à 6 sorties par carte qui peuvent donc toutes être numériques. Notez cependant que les sorties DVI Dual Link, compte tenu de leur fonctionnement, monopolisent 2 TMDS. Leur utilisation limite donc le nombre de sorties numériques possibles.


La Radeon HD 5870 existera ainsi en 2 versions, l’une équipée de deux sorties DVI Dual Link, une sortie HDMI et une sortie DisplayPort (les 6 TMDS sont donc tous occupés) comme celle qui est lancée aujourd’hui et l’autre équipée de 6 sorties au format mini DisplayPort qui arrivera un petit peu plus tard. Il faut noter que pour utiliser trois écrans sur la première version, il faudra utiliser obligatoirement la sortie DisplayPort en sus des deux DVI ou d'un DVI + un HDMI. Si vous ne disposez pas d'un troisième écran DisplayPort, il faudra un adaptateur actif.


Pour exploiter toutes ces sorties, AMD a développé dans ses pilotes le mode Single Large Surface qui permet de les combiner (ou en partie d’entre elles) pour afficher une grande image sur un assemblage d’écrans, jusqu’à 6 par carte, 12 avec 2 cartes et 24 avec 4 cartes. Cela permet de créer un mur d’écrans plus facilement pour profiter d’une surface d’affichage plus grande ou d’une résolution plus élevée ou encore d’un champ de vision étendue, par exemple sur les côtés. Ces techniques ne sont pas nouvelles mais l’implémentation d’AMD permet d’en faciliter l’accès.


Avec 6 moniteurs d’une résolution de 2560x1600 assemblés en 3x2, nous arrivons à afficher du 7680x3200, soit près de 25 mégapixels ! Reste bien entendu les désagréments qui y sont liés puisque les encadrements des moniteurs sont gênants, tout comme les petites diodes présentes sur leur devant. Pour compenser cela, AMD travaille avec les fabricants d’écrans pour qu’ils proposent des modèles avec encadrement réduit, Samsung est déjà sur le coup, c’est mieux mais loin d’être parfait. D’autre part, il est possible d’augmenter la taille de l’image affichée, en la calculant et l’affichant comme si il y avait des pixels à la place des encadrements. Du coup le décalage entre les écrans disparait mais une partie de l’image n’est plus affichée.


H.A.W.X. rendu sur 6 écrans 22’’.

Pour supporter ces résolutions, et surtout en profiter pleinement avec un champ de vision étendu, il faudra que les jeux le permettent ou qu’AMD s’en charge à travers ses pilotes. La technologie est déjà fonctionnelle dans de nombreux jeux selon le fabricant. Reste bien entendu à voir si cela intéressera les joueurs ou si ces possibilités resteront cantonnées aux professionnels et aux démonstrations techniques. Il ne faut dans l'absolu pas perdre de vue que le tri-écran demande beaucoup de puissance et de mémoire vidéo. Avec une carte simple, le passage en tri-écran se fera donc au sacrifice des options graphique les plus gourmandes du jeu, et le surplus de puissance d’un CrossFire sera certainement salutaire. Seul problème, à l’heure actuelle Eyefinity et CrossFire ne sont pas compatible, ce qui devrait toutefois être résolu d’ici au lancement de la « 5870 X2 ».



Notez pour terminer au sujet des sorties, que les Radeon HD 5000 sont compatibles avec les formats audio avec compression lossless tels que le Dolby TrueHD et le DTS-HD Master Audio. Elles permettent donc de transférer ces flux audio directement et en pleine qualité vers un équipement adapté.


Page 11 - Protocole de test

Le test
Nous avons décidé de mettre à jour notre protocole de test pour y intégrer des jeux plus récents. Un choix délicat lors de l’introduction d’une nouvelle architecture puisque les pilotes n’ont pas encore eu le temps d’être complètement optimisés et de prendre en compte les nouveaux jeux, mais il est plus représentatif des performances que vous obtiendrez aujourd’hui, dans les jeux d’aujourd’hui. Il permet également de tester la nouvelle venue dans les jeux les plus gourmands du moment.

Nous avons ainsi abandonné Fallout 3, Race Driver GRID et Brothers in Arms Hell’s Highway. Nous avons conserve Crysis Warhead, Far Cry 2, S.T.A.L.K.E.R. Clear Sky et H.A.W.X. Quant à World in Conflict, nous sommes passes à la version Soviet Assault, légèrement plus gourmande.

Ces jeux se voient complétés par Need for Speed Shift, ArmA 2, Red Faction Guerilla, Anno 1404 et Batman Arkham Asylum que nous avons testé avec et sans les effets PhysX. Nous avons par la suite ajouté BattleForge, le premier jeu à exploiter Direct3D 11.

Les tests ont été exécutés en 1920x1200 et en 2560x1600. La première résolution parce qu’elle représente bien l’utilisation haut de gamme d’une carte graphique et la seconde résolution parce qu’elle permet de charger autant que possible les cartes graphiques les plus puissantes et reste un défi dans certains jeux.

Tous les tests ont été réalisés sans FSAA, avec MSAA 4x et avec MSAA 8x. Notez à ce sujet que nous nous sommes bien assurés de tester ce mode sur les GeForce, ce qui n’est pas toujours évident. Dans les pilotes Nvidia, l’antialiasing 8x est un fait du MSAA 4x avec un CSAA 8x qui n’offre pas la même qualité qu’un MSAA 8x, qui est, lui, appelé antialiasing 8xQ. C’est donc bien celui-ci qui a été testé.

Nous avons décidé de ne plus afficher les décimales dans les résultats de performances dans les jeux pour rendre le graphique plus lisible. Ces décimales sont néanmoins bien notées et prises en compte pour le calcul de l’indice. Si vous êtes observateurs vous remarquerez que c’est également le cas pour la taille des barres dans les graphes.

Nous sommes passés à Windows 7 64 bits pour notre plateforme de test, d’une part parce qu’elle est très efficace et d’autre part parce que nous nous attendons à ce que de très nombreux lecteurs passent sous ce système d’exploitation, s’ils n’y sont pas déjà. Au niveau des pilotes, nous avons utilisé les pilotes beta 8.66 RC6 fournis par AMD et les pilotes 191.00 fournis en dernière minute par Nvidia et qui apporte un gain de performances dans de nombreux jeux.


Configuration de test
Intel Core i7 975 (HT et Turbo désactivés)
Gigabyte GA-EX58-Extreme
6 Go DDR3 1333 Corsair
Windows 7 64 bits
Forceware 191.00
Catalyst beta 8.66 RC6


Page 12 - Need for Speed Shift

Need for Speed Shift

Pour tester le dernier né de la série des Need for Speed, nous poussons toutes les options à leur maximum et effectuons un déplacement bien défini.



Dans ce premier jeu testé, la Radeon HD 5870 affiche des gains conséquents par rapport à la Radeon HD 4890. Elle devance également la Radeon HD 4870 X2. Par contre, en 1920x1200, les GeForce sont relativement plus performantes dans ce jeu récent pour lequel AMD dispose probablement d’une bonne marge de progression en optimisant ses pilotes. En 2560x1600, les Radeon affichent un meilleur niveau de performances, même si la GeForce GTX 295 conserve une partie de son avance, en dehors du mode MSAA 8x.


Page 13 - ArmA 2

ArmA 2

Pour tester ArmA 2, nous effectuons un déplacement bien défini après avoir chargé une sauvegarde. Nous utilisons le niveau de détails « très élevé » du jeu en plus duquel nous poussons toutes les options avancées à leur maximum (en laissant la distance de visibilité sur 3600m).

ArmA 2 est particulier au niveau de la résolution puisqu’il permet de paramétrer différemment la résolution de l’interface de celle du rendu 3D qui est ramenée à hauteur de la première via un filtre. De notre côté nous utilisons une résolution de rendu identique à celle de l’affichage.

Les paramètres proposé pour l’antialiasing dans le jeu sont peu clairs et différents entre les cartes AMD et Nvidia. Du côté d’AMD, 3 modes sont proposés : faible, moyen et élevé. Ils correspondent au MSAA 2x, 4x et 8x. Du côté Nvidia, ça se complique :

- faible et moyen = MSAA 2x
- élevé et très élevé = MSAA 4x
- 5 = MSAA 4x + CSAA 8x (appelé 8x dans les pilotes Nvidia)
- 6 = MSAA 8x (appelé 8xQ dans les pilotes Nvidia)
- 7 = MSAA 4x + CSAA 16x (appelé 16x dans les pilotes Nvidia)
- 8 = MSAA 8x + CSAA 16x (appelé 16xQ dans les pilotes Nvidia)

Les modes à utiliser de notre côté sont donc élevé (4x) et 6 (8x).

Le patch 1.3 a été installé.



Dans ArmA 2, les Radeon sont nettement plus efficaces que les GeForce. En 1920x1200, la Radeon HD 5870 se positionne devant toutes les autres cartes, à l’exception de la Radeon HD 4870 X2 avec FSAA 4x. Ceci s’explique par une consommation CPU plus élevée du côté de la carte bi-GPU avec par contre une meilleure efficacité de la Radeon HD 5870 avec FSAA 8x. Ce comportement est plus clair en regardant les chiffres en 2560x1600.


Page 14 - World in Conflict Soviet Assault

World in Conflict Soviet Assault

Très réussi visuellement et très gourmand, World in Conflict supporte DirectX 10. Son add-on Soviet Assault ajoute quelques petits options graphiques supplémentaires, bien que le test interne, que nous utilisons, exploite la même scène. Nous utilisons le mode de qualité « très élevé » ce qui inclus le mode DirectX 10, poussons le filtrage anisotrope à 16x et activons toutes les options graphiques. Le jeu ne supporte pas le MSAA 8x.



Si la Radeon HD 5870 affiche un gain d’un peu plus de 30% sur la Radeon HD 4890, elle ne peut pas concurrencer les cartes bi-GPU qui restent donc devant.


Page 15 - Anno 1404

Anno 1404

Pour tester Anno 1404, nous effectuons un trajet bien défini sur une carte relativement lourde. Toutes les options sont poussées à leur maximum.

Nous avons mis à jour les résultats avec le patch 1.1 qui corrige un bug qui affectait le rendu du côté des Radeon dans la version DirectX 10 du moteur que nous utilisons. Contrairement à notre supposition de départ, l’incidence sur les performances était importante, c’est pourquoi nous avons décidé de retester ce jeu.



Les Radeon s’en sortent ici mieux que les GeForce, surtout avec AA8x. La Radeon HD 4870 X2 ne fonctionne cependant pas bien dans ce jeu avec le dernier patch et il semblerait qu’un seul GPU soit actif. En 2560 avec AA8x, la GeForce GTX 295 s’effondre, alors que les Radeon mono-GPUs encaissent très bien la charge.


Page 16 - Red Faction Guerilla

Red Faction Guerilla

Très gourmand, Red Faction Guerilla est testé avec toutes les options poussées au maximum. Nous mesurons les performances durant la scène d’introduction.



Particularité de ce jeu, l’activation de l’antialiasing n’entraîne qu’une baisse minime des performances. La GeForce GTX 295 ne profite pas du multi-GPU, Nvidia devra améliorer ses pilotes pour cela, et laisse donc le champ libre aux Radeon HD 5870 et HD 4870 X2.


Page 17 - Crysis Warhead

Crysis Warhead

Crysis Warhead vient remplacer Crysis dont il reprend le moteur graphique très gourmand à tous les niveaux. Nous le testons dans sa version 1.1 hotfix et en mode 64 bits puisque c’est la principale nouveauté apportée. Crytek a renommé les différents modes de qualité graphique, probablement pour ne pas heurter les joueurs déçus de ne pas pouvoir activer le mode très haute qualité pour cause de gourmandise excessive. Le mode haute qualité est ainsi renommé « Gamer » et le mode très haut qualité « Enthousiast ». Nous avons testé ces 2 modes.



La Radeon HD 5870 s’en tire plutôt bien en mode Gamer dans ce jeu qui met toutes les cartes graphiques à genoux depuis quelques temps déjà. Cependant, avec FSAA 8x, ses performances s’effondrent et retombent au niveau de la Radeon HD 4890, ce qui est étrange. La GeForce GTX 295 garde globalement la tête ici, mais plante en 2560x1600 AA8x à cause d’une consommation mémoire qui explose.



Nous retrouvons des résultats similaires en mode Enthousiast, avec des performances cependant un cran en-dessous pour toutes les cartes et des GeForce qui sont plus rapidement débordées au niveau de la mémoire.


Page 18 - S.T.A.L.K.E.R. Clear Sky

S.T.A.L.K.E.R. Clear Sky

Cette suite de S.T.A.L.K.E.R. repose sur un moteur revu qui apporte le support de DirectX 10 mais reste basé sur le principe du rendu différé. Un patch lui a ajouté le support de l’API DirectX 10.1 qui permet d’améliorer les performances des Radeon en fusionnant 2 passes de rendu. Nous utilisons le patch 1.5.0.10 et le mode de rendu DirectX 10 qui active automatiquement la variante DirectX 10.1 quand une carte compatible est détectée. Le mode de qualité utilisé est « maximum ». Le jeu ne supporte pas l’antialiasing 8x.



Avec antialiasing, la Radeon HD 5870 affiche un gain de 70% sur la Radeon HD 4890 et se place donc au niveau de la Radeon HD 4870 X2 et devant la GeForce GTX 295. Sans antialiasing, les cartes bi-GPU restent devant.


Page 19 - Far Cry 2

Far Cry 2

La suite de Far Cry n’en est pas réellement une puisque Crytek était à l’origine du premier épisode. La licence appartenant à Ubisoft c’est ce dernier qui s’est chargé de son développement, Crytek optant alors pour Crysis. Pas facile de reprendre l’héritage de révolution graphique qui accompagne Far Cry, mais les équipes d’Ubisoft s’en sont bien tirées même si l’aspect graphique n’est pas aussi abouti que celui de Crysis. Le jeu est aussi moins gourmand ce qui n’est pas plus mal. Il supporte DirectX 10.1 pour améliorer les performances du côté des Radeon. Nous avons installé le patch 1.02 et utilisé le mode de qualité graphique « ultra élevé ».



Dans Far Cry 2, les Radeon sont en général peu efficaces avec le FSAA 8x. La Radeon HD 5870 rattrape à ce niveau une partie du retard. La GeForce GTX 295 reste cependant devant, tout comme la Radeon HD 4870 X2, en dehors du mode FSAA 8x.


Page 20 - H.A.W.X.

H.A.W.X.

Dernier jeu de Tom Clancy, H.A.W.X. est un jeu d’action qui se passe dans les airs. Il utilise un moteur qui prend en charge DirectX 10.1 pour optimiser le rendu. Parmi les effets graphiques supportés, notons la présence de l’occlusion ambiante qui est poussée à son maximum tout comme les autres options. Nous utilisons le benchmark intégré et le patch 1.2 est installé.



La Radeon HD 5870 est ici décevante et n’affiche que des gains réduits, tout du moins par rapport à ce que produit le multi-GPU dans ce jeu, ce qui donne une avance considérable à la Radeon HD 4870 X2. La GeForce GTX 295 plante en 2560x1600 avec FSAA 8x.


Page 21 - Batman Arkham Asylum

Batman Arkham Asylum

Enorme hit du moment, nous ne pouvions pas ignorer Batman Arkham Asylum malgré le côté partisan des technologies qu’il exploite. Nous parlons ici bien entendu de GPU PhysX, une bibliothèque propriétaire au niveau de son accélération par le GPU qui ne supporte que les GeForce.

Nous avons installé le patch 1.1 et utilisé le benchmark intégré avec toutes les options poussées au maximum, à l’exception des effets PhysX dans un premier temps.

Notez qu’étrangement, Batman Arkham Asylum refuse d’activer l’antialiasing de lui-même sur les Radeon et demande de le faire via le panneau de contrôle des pilotes, prétextant que le MSAA n’est pas supporté, alors que tout fonctionne d’une manière normale sur les GeForce. Le problème est que ceci implique une baisse des performances puisque le jeu a l’opportunité de n’appliquer l’antialiasing que là où c’est nécessaire. AMD nous a indiqué qu’avec la démo, en faisant passer une Radeon pour une GeForce, le jeu active sans problème l’antialiasing, mais ce n’est pas possible sur la version finale à cause des techniques de sécurisation. Si une explication technique peut exister, ce problème ressemble malheureusement à un arrangement entre Nvidia et les développeurs pour favoriser les GeForce. Ce serait bien entendu regrettable si cela s’avérait être la réalité.



Les GeForce ont ici l’avantage, surtout avec antialiasing puisque, comme prévu, les performances des Radeon s’effondrent.

Nous avons également testé le jeu avec les effets PhysX élevés activés :


Les Radeon ne pouvant pas accélérer ces effets, ils sont limités par le CPU dont tous les cores ne sont, qui plus est, pas exploités.


Page 22 - BattleForge

BattleForge

Premier jeu à supporter DirectX 11, ou plus précisément Direct3D 11, il nous était difficile de ne pas l’intégrer à ce test. Une mise à jour déployée le 30 septembre a en effet ajouté le support de la nouvelle API de Microsoft à BattleForge.

Ce sont les Compute Shaders 5.0 qui sont ici exploités par les développeurs pour accélérer le traitement du SSAO, soit de l’occlusion ambiante. Par rapport à l’implémentation classique, via les Pixel Shaders, la technique permet d’exploiter plus efficacement la puissance de calcul disponible en saturant moins les unités de texturing. BattleForge propose deux niveaux de SSAO : High et Very High. Seul le second, appelé HDAO (High Definition AO) par AMD, exploite les Compute Shader 5.0.

Sur le forum de Beyond3D, le développeur explique  ne pas avoir implémenté cet effet pour les cartes actuelles en version Compute Shader 4.0 ou 4.1 parce que ceux-ci ne sont pas encore complètement documentés par Microsoft et ne disposent pas des fonctionnalités nécessaires à une implémentation performante.

Nous avons utilisé le benchmark intégré au jeu.



Si le comportement de la Radeon HD 4890 par rapport à la GeForce GTX 285 est classique dans ce jeu, un petit peu en retrait sans FSAA et devant avec, les Radeon HD 5800 voient leurs performances progresser relativement plus grâce à l’exploitation par ce jeu des Compute Shaders 5.0 de Direct3D 11.

Pour en savoir plus sur les gains apportés par Direct3D 10.1 et Direct3D 11, nous avons testé plus en détail les modes SSAO High et Very High sur la Radeon HD 5870 :


Ces résultats nous apprennent tout d’abord que la version High du SSAO bénéficie d’optimisations pour Direct3D 10.1 mais pas pour Direct3D 11 alors que la version Very High profite d’optimisations Direct3D 11 mais pas Direct3D 10.1 qui est même légèrement moins performant avec FSAA 8x.

Nous noterons également que les gains apportés par la version Direct3D 11 sont plus importants avec un niveau d’antialiasing faible, voire sans antialiasing. Nous pouvons donc supposer que l’activation de l’antialiasing a un coup plus élevé quand le SSAO est traité via un Compute Shader que via un Pixel Shader, ce qui peut soit venir de pilotes encore jeunes ou tout simplement d’une spécificité du nouvel algorithme. Quoi qu’il en soit cette version reste plus performante.


Page 23 - Récapitulatif des performances

Récapitulatif
Bien que les résultats de chaque jeu aient tous un intérêt, nous avons calculé un indice de performances en nous basant sur l'ensemble de résultats et en attachant une importance particulière à donner le même poids à chacun des jeux. Les modes Gamer et Enthousiast de Crysis Warhead se voient ainsi attribuer un coefficient de 0.5. Quant à Batman Arkham Asylum en mode PhysX, il n’est pas intégré à l’indice. Notez que cet indice a été recalculé en prenant en compte les nouveaux résultats abotenus sous Anno 1404 et BattleForge.

Nous avons attribué un indice de 100 à la Radeon HD 4890 en 1920x1200.



En moyenne et par rapport à la Radeon HD 4890, la Radeon HD 5870 affiche un gain de 40 à 50% dans les jeux, suivant la résolution. Avec antialiasing activé, elle se place en moyenne plus ou moins au niveau des cartes bi-GPU de la génération précédente avec une avance nette sur la GeForce GTX 295 en 2560x1600 AA 8x, cette dernière y voyant souvent ses performances plonger, voire les jeux planter.

Quant à la Radeon HD 5850, elle apporte un gain de 20 à 30% par rapport à la Radeon HD 4890 et devance également la GeForce GTX 285 avec un gain plus ou moins important suivant le niveau d’antialiasing. La Radeon HD 5870 est entre 15 et 20% plus véloce que sa petite sœur.


Page 24 - Conclusion

Conclusion
Avec la Radeon HD 5870, AMD prend une avance considérable sur Nvidia. D’une part sur le plan des performances, puisque c’est la carte mono-GPU la plus performante du moment et qu’elle égale en général les cartes bi-GPU. D’autre part sur le niveau technologique puisqu’elle est la première à supporter Direct3D 11, la nouvelle API graphique de Microsoft. Elle devrait ainsi servir de plateforme de référence pour les développeurs ce qui pourra lui donner un avantage relatif par rapport aux futurs produits concurrents de Nvidia, qui sont pourtant très prometteurs eux aussi. C’est un schéma que nous avons pu constater à plusieurs reprises par le passé et qui risque bien se reproduire, suivant le retard des GeForce Direct3D 11, que de notre côté nous attendons pour le mois de décembre.


En attendant du matériel remis au goût du jour, Nvidia doit se contenter de mettre en avant les petits avantages logiciels qui accompagnent ses cartes actuelles, tels que l’accélération de PhysX par le GPU qui peut permettre d’améliorer sensiblement l’expérience de jeu, exclusivement sur GeForce aujourd’hui. Nous ne pouvons qu’espérer une ouverture rapide de cette technologie, tant pour qu’elle ne serve pas à diviser la communauté des joueurs, que pour qu’elle se répande dans un maximum de jeux compte tenu de l’intérêt qu’elle peut présenter quand elle est bien utilisée.

Malheureusement pour Nvidia, sur le segment haut de gamme, supporter le futur standard qu’est Direct3D 11 est bien plus important qu’une accélération propriétaire de PhysX, d’autant plus que cette nouvelle API est vouée à connaître un succès relativement important. Si vous recherchez une carte haut de gamme aujourd’hui, le meilleur choix est sans conteste la Radeon HD 5870, même si vous ne pourrez pas profiter de tous les effets graphiques très réussis dans le hit qu’est Batman Arkham Asylum. La nouvelle Radeon est très performante, bien qu’elle soit en partie limitée par une bande passante mémoire qui a peu progressé, elle dispose d’une puissance de calcul importante pour assurer la charge dans les jeux à venir et elle est silencieuse et économe au repos. Son seul défaut est sa taille qui empêchera de l’utiliser dans tous les boîtiers. Quant à sa tarification annoncée de 350 €, elle est selon nous justifiée pour un haut de gamme qui n’a pas réellement de concurrence.

Si AMD arrive à obtenir un volume suffisant des chaines de productions en 40 nanomètres de TSMC et exécute sa roadmap comme prévu, Nvidia a du souci à se faire !


Mise à jour du 10/10/09 :

La Radeon HD 5850, dont nous venons d’intégrer le test à ce dossier, affiche elle aussi de très bons résultats. Les performances sont au rendez-vous, tout comme le silence, l’aspect thermique et la consommation qui sont bien maîtrisés. Tout cela avec un prix public qui passe de 350€ pour la Radeon HD 5870 à 240€ pour sa petite sœur, soit une différence tarifaire de 45% alors que l’écart de performances ne dépasse pas les 20%. Avec la Radeon HD 5850, AMD nous propose donc une carte haut de gamme efficace et relativement abordable.

Si les Radeon HD 4870 et 4890, dont le prix a fortement chuté, conservent un rapport qualité prix encore meilleur, il ne faut pas oublier que les Radeon HD 5800 supportent DirectX 11 et disposent d’une puissance de calcul importante qui devrait se montrer de plus en plus utile.

Enfin, un petit mot sur la disponibilité qui à cette date est malheureusement toujours très faible, ce qui tend à faire grimper les prix. Une situation qui ne risque pas de s’améliorer avant quelques semaines, voire même avant quelques mois selon les partenaires les plus pessimistes et les moins bien fournis, AMD ayant décidé de privilégier Sapphire et XFX.


Copyright © 1997-2024 HardWare.fr. Tous droits réservés.