Sélectionner une page
Quand les premières informations ont commencé à circuler à propos des processeurs graphiques DirectX 10, tout laissait croire qu’ATI profiterait d’une certaine avance. Avec les Radeon X1800, le constructeur canadien avait déjà découplé les unités de texturing des pixel pipelines. Quelques mois plus tard, ATI corrigeait quelques détails du R520 avec ses Radeon X1900… De prime abord, ATI n’avait plus qu’à unifier les unités de traitement des vertex et les pixel pipelines pour concevoir une architecture DirectX 10. De son côté, NVIDIA disposait d’une moins bonne base avec ses G71 et tout laissait présager le support de DirectX 10 mais sans unification des unités de traitement des shaders. Pourtant, en novembre 2006, NVIDIA a créé la surprise avec un G80 radicalement nouveau. Il a fallu de nombreux mois avec un report officiel du lancement avant l’arrivée de la réponse d’AMD : la Radeon HD 2900 XT.

Sous l’égide d’AMD

Le développement du R600 a commencé bien avant l’achat de la compagnie canadienne par AMD. Etant donné que ce GPU est le fruit d’une équipe de 300 personnes durant 4 ans, AMD n’a pas joué un rôle important dans les choix stratégiques du R600. De plus avec le Xenos de la Xbox 360, ATI avait déjà un processeur graphique unifié à son actif et donc une certaine expérience dans le domaine. Si NVIDIA a été le premier à commercialiser un GPU unifié fonctionnel, son savoir-faire en matière de pilotes n’y est pas étranger. Au niveau hardware, Intel avait brûlé la politesse à NVIDIA avec son GMA X3000. Mais Intel n’est pas parvenu à développer des pilotes efficaces. Quel est l’intérêt de « la meilleure puce graphique » si elle n’est pas servie par un pilote capable d’en exploiter tout le potentiel ? D’ailleurs à propos de pilotes, la tâche est autrement plus complexe avec DirectX 10 qu’avec les versions antérieures. Cette fois, il faut supporter un nouvel OS – Windows Vista – dont les impératifs en matière de drivers sont très stricts, une nouvelle API et un hardware « totalement » nouveau. Enfin, ce n’est pas parce que NVIDIA a « tiré » le premier avec son G80 qu’il est à côté de la plaque. DirectX 10 n’est pas été écrit en deux jours et Vista non plus… Créer une GPU DirectX « X » n’est pas comme pêcher la question de l’oral du BAC ! Ce n’est pas un « sprint » sur des spécifications révélées à la dernière minute mais un travail de fond réalisé en plusieurs années pour répondre à des fonctionnalités précises…

Si on ne peut que constater l’arrivée tardive du R600, AMD s’est cependant gardé de toute annonce officielle quant à une date de sortie. Un évènement prévu pour la presse avant le Cebit a quand même été annulé en dernière minute. L’arrivée d’un nouveau processeur graphique AMD, mieux d’une gamme complète DirectX 10, était à ce moment toujours prévue courant avril. Les communiqués et interviews n’ont dupé personne : Ce délai est nécessaire pour proposer directement une gamme complète … Rien ne sert d’avoir le meilleur hardware si les pilotes ne suivent pas … Vous serez surpris … Tant que les applications ne sont pas disponibles … AMD opère un repositionnement stratégique. Il était bien entendu inconcevable d’avouer publiquement qu’un souci de dernière minute imposait un report. Réel problème technique ? Performances inférieures au cahier des charges ? Impossibilité d’atteindre les fréquences requises pour le niveau de performances escompté ? Consommation et dissipation thermique trop importantes ?

Quoi qu’il en soit, l’accouchement a été difficile. Sur les 10 GPU annoncés officiellement pour le 14 mai lors d’une présentation à la presse fin avril seul le Radeon HD 2900 XT a finalement vu le jour à la date prévue. Chez NVIDIA, l’offre DirectX 10 est à présent complète et disponible tant pour les ordinateurs de bureau que pour les portables…

AMD R600 : la puce

Quelles que soient les raisons qui ont conduit à une arrivée si tardive du R600, nous ne les connaîtrons probablement que le jour où ce GPU ne nous intéressera plus vraiment… Autant plonger directement au cœur d’un sujet qui a déjà fait couler beaucoup d’encre. Le R600 est gravé en 80 nm avec la technologie High Speed de TSMC. Malgré ses 700 millions de transistors contre « seulement » 681 millions pour le G80, le dernier GPU d’ATI est 13% plus petit. Le core du R600 mesure ainsi 20 x 21 mm soit 420mm². Avec une fréquence finale de 742 MHz fièrement affichée, le Radeon HD 2900 XT fait de l’ombre au GeForce 8800 GTX et ses 575 MHz. Cependant, la R600 utilise une seule et unique fréquence de fonctionnement pour toutes les parties du GPU alors que les Stream Processors du GeForce 8800 GTX sont cadencés à 1350 MHz.

Pour gérer les shaders model 4.0 de DirectX 10, AMD et NVIDIA sont d’accord sur le principe d’unification. Répartir dynamiquement des unités de shaders universelles entre le traitement des pixels et des vertex est la meilleure solution pour ne plus avoir d’unités qui se tournent les pouces. Alors qu’un GPU classique est limité par ses vertex engine pour la création du requin, les pixels shaders sont sous exploités. A l’inverse, pour reproduire les vagues à la surface de l’eau, les unités de traitement des vertex sont peu sollicitées alors que les pixel pipelines tournent à plein régime. Avec une architecture unifiée, le problème ne se pose plus. La répartition est dynamique et s’apte aux besoins de la scène à rendre.

Si les deux concurrents sont bien d’accord sur le principe, AMD a retenu une approche très différente de NVIDIA. Aux 128 Stream Processors scalaires du G80, le constructeur texan oppose 64 unités Vec5.

128 contre 320 ?

A titre de rappel, la 3D fait intervenir des vecteurs avec 4 composantes typiquement : des pixels [R, G, B, A] pour Red, Green, Blue et Alpha (le canal qui gère la transparence) ou des coordonnées [X, Y, Z, W] . Compte tenu de la nature un peu particulière de la quatrième composante, les GPU sont souvent amenés à traiter les trois couleurs différemment du canal alpha. Du coup, les GPU des générations précédentes sont de type 3+1 (un vecteur à 3 composantes et un scalaire) : [R, G, B] A. Un traitement différent peut ainsi être appliqué au canal alpha. De manière plus étendue, certains GPU sont même capables d’opérer en 2+2. Cette technique porte le nom de co-issue.

Avec le G80, NVIDIA a utilisé une approche scalaire (et non vectorielle comme par le passé) : R G B A. Chacun des 128 Stream Processors traite donc un scalaire. AMD a fait un choix totalement différent. Les unités vec5 du R600 peuvent traiter jusqu’à 5 opérations en co-issue : 1+1+1+1+1. Il s’agit donc d’une solution plus conservatrice, évolution ultime de l’approche déjà utilisée dans les architectures précédentes.

Sur le diagramme du R600, chaque SIMD array – 4 au total – contient 16 unités de calcul. Les 64 unités se composent toutes de 5 ALU scalaires et d’un contrôle de branchement. Comme le montre le schéma, ces cinq ALU (certifiées IEEE754) ne sont pas identiques.

  • 4 unités simples capables de traiter les opérations : ADD, MUL, MAD et DP (produit scalaire).
  • 1 unité complexe capable de calculer des fonctions avancées : ADD, MUL, MAD, SIN, COS, INV, DIV, LOG, etc. A noter qu’elle ne peut cependant réaliser que certaines des opérations simples supportées par les quatre autres unités.
  • Evoquer « 320 Stream Processing Units » est donc une erreur dans la mesure où il s’agit de 256 ALU simples et 64 ALU complexes. Une erreur que nous ferons par simplification mais en connaissance de cause pour faciliter la rédaction.

    Face au G80 avec 128 Stream Processors scalaires capables de traiter des opérations indépendantes (y compris les opérations complexes mais en 4 cycles), le R600 est un GPU super scalaire VLIW (Very Long Instruction Word) avec « 320 » Stream Processing Units affichant une certaine dépendance entre eux (tous ne pouvant exécuter les mêmes opérations). En d’autres mots, là où le compilateur du G80 « découpe » tout en traitements scalaires SIMD pour alimenter les 128 Stream Processors, celui du R600 doit essayer de regrouper les traitements afin d’alimenter de manière optimale les 64 unités MIMD vec5. Il est amusant de noter qu’AMD fait référence à 4 SIMD arrays alors qu’elles contiennent chacune 16 unités vectorielles MIMD 5 ways. La tâche est plus complexe étant donné qu’il faut « analyser les instructions en amont au lieu d’opérer avec ce qui arrive ». Il est donc plus difficile d’alimenter l’intégralité des unités d’un R600 en permanence car il faut distribuer les instructions en fonction des capacités des Stream Processing Units et le code ne s’y prête pas toujours. Inévitablement, certaines ALU sont parfois inutilisés.

    Dernier détail à ne pas oublier lors d’une éventuelle mise en parallèle (qui se révèle de plus en plus caduque) des « 320 » Stream Processing Units du R600 et des 128 Stream Processors du G80 : les fréquences ! Dans le cas du GeForce 8800 GTX, ils fonctionnent à 1350 MHz alors que dans le Radeon HD 2900 XT, ils moulinent à 742 MHz mais le taux d’occupation n’atteint que très rarement 100%… Enfin, dans la guerre des chiffres, NVIDIA annonce qu’en comptant comme le fait AMD, le G80 dispose de 256 ALU à cause de l’unité présente dans chaque Stream Processor pour la gestion des opérations transcendantales (sin, cos, inv, log, etc).


    Pour rappel : l’architecture du G80


    Laquelle des deux approches est la meilleure ? Il existe des cas de figure pour défendre chaque choix… Les jeux seront les seuls arbitres pour départager les choix. Le rendement du G80 est très élevé car il peut assez facilement occuper constamment ses 128 Stream Processors. Selon la nature du code, le R600 peut occuper ses 64 unités MIMD vec5 à « x » cinquième(s). Si le compilateur est efficace et que le code s’y prête, « x » peut atteindre 5 et le rendement est optimal. Dans le pire des cas, il peut tomber à 1 et le rendement est catastrophique. Heureusement, les cas extrêmes sont rares…

    Threads et branchements

    Un des points clefs de la gestion des shaders est la gestion des branchements dynamiques afin d’éviter les calculs inutiles. Les pixels sont toujours traités par lots ou threads. Si tous les pixels utilisent le même branchement, il suffit de ne calculer que cette branche. Dans le cas où même un seul pixel a besoin de l’autre branche, il faut alors les calculer systématiquement et basculer entre les résultats. Après avoir fait appel à des threads de 16 pixels, ATI est revenu à 48 pixels par thread (Radeon X1900) avant de se fixer sur 64 pixels dans le cas du R600. De son côté, le G80 travaille avec des threads de 32 pixels (contre des threads très pénalisants de 1024 pixels sur la génération précédente).


    Les branchements dynamiques à condition d’être bien gérés augmentent les performances.

    En transit dans le R600…

    L’entrée dans le R600 se fait par le biais du Command Processor qui assure la communication avec le processeur central pour la réception des données. Les impératifs de DirectX 10 imposent la gestion hardware de certaines fonctionnalités de contrôle de la communication entre le CPU et le GPU anciennement assurées par le pilote. Le Command Processor intervient donc dans la réduction de la charge de travail du processeur central, peu importe l’API. Les meilleurs résultats sont cependant attendus avec DirectX 10.

    Le Setup Engin organise les trois types de shader threads (géométrie, vertex et pixels) qui sont envoyés à l’Ultra-Threaded Dispatch Processor. Héritage du Xenos de la Xbox 360, le R600 conserve l’unité de tesselation (Programmable Tesselator) mais elle est « inutile » car elle n’est pas prise en charge par DirectX 10. Pour ceux qui connaissent les architectures précédentes d’ATI, il ne s’agit que d’un retour du TrueForm : le GPU est en mesure d’augmenter la tesselation. Il peut créer de nouveaux polygones par interpolation pour profiter d’un mesh plus complexe sans surcharger le CPU.

    Au cœur de l’Ultra-Threaded Dispatch Processor, les Arbitrers (deux par block de 16 Stream Processing Units) se chargent de l’envoi des threads. Quant aux Sequencers, également disposés par paires, ils se chargent d’optimiser l’ordre interne du thread afin de maximiser l’utilisation des Stream Processing Units. L’Ultra-Threaded Dispatch Processor se charge également de la gestion des textures pour les pixels et les vertex.

    Séance de peinture…

    L’étape suivante nous conduit aux « 320 » Stream Processing Units que nous avons déjà abordés et aux unités de texturing. Pour le texturing, le R600 dispose de 16 unités non filtrées et 16 unités associées à une unité de filtrage bilinéaire. Elles peuvent filtrer des textures FP16 en cycle ou FP32 sur deux cycles. Par rapport au G80, c’est très peu. Le processeur de NVIDIA dispose de 32 unités de texturing disposant de deux unités de filtrage bilinéaire. AMD pallie en partie le manque d’unités de texturing par la présence d’un cache L1 de 32 Ko secondé par un cache L2 de 256 Ko, la possibilité d’allouer toutes ces unités à un des 4 blocks de 80 Stream Processing Units et la bande passante liée au bus mémoire 512 bits. Malgré ces astuces, la puissance de filtrage du R600 est bien modeste par rapport à celle du G80. De leur côté, les vertex profitent également d’un cache L1 de 32 Ko et accèdent également au cache L2 de 256 Ko.

    Les ROPs et la sortie !

    Les ROPs (Raster Operation) sont des unités qui se chargent des derniers filtrages avant le rendu final et notamment de l’antialiasing y compris le nouvel MSAA 8x. Par rapport à l’architecture précédente, le nombre de ROPs n’évolue pas. Heureusement, les 4 render back ends du R600 ont été revus avec la possibilité de doubler le Z-fillrate. Là encore, avec 16 pixels par cycle, le R600 est limité face aux 6 ROPs du G80 qui peuvent traiter chacun 4 pixels par cycle (soit 24 pixels par cycle) et dans certains cas multiplier par 8 le Z-fillrate… L’unité de Blending est totalement nouvelle et assure un traitement FP16 par cycle (et 2 cycles en FP32). Egalement inédite, l’unité « programmable MSAA resolve » semble avoir quelques soucis de fonctionnement étant donné qu’AMD s’en remet à un shader pour l’antialiasing. Dans tous les cas, le R600 compte en partie sur son bus mémoire et la débauche de bande passante pour rentabiliser les unités au maximum.

    Antialiasing 8x et plus

    Les Radeon sont longtemps restées limitées à un antialiasing multisampling 6x alors que les GeForce prennent en charge ce même mode jusqu’en 8x. Avec les Radeon HD 2900 XT, AMD comble son retard. Le constructeur en profite même pour répondre au CSAA de NVIDIA avec son CFAA pour Custom Filter AntiAliasing.


    AMD met en avant un mode de filtrage programmable : L’antialiasing par les shaders…

    Par rapport à un filtrage classique « box », les modes CFAA narrow-tent et wide-tent réalisent leur échantillonnage sur plus de pixels adjacents. En pratique, le mode wide-tend utilise 2x plus de pixels voisins tandis que le narrow-tent en mélange seulement 50% de plus. Enfin, il faut noter que le CFAA est un mode de filtrage purement logiciel. Le réglage se fait en complément du mode d’antialiasing standard 2x, 4x ou 8x : le mode box conserve le mode d’AA tandis qu’il est multiplié par 1,5 en narrow-tent (4x, 6x ou 12x) et par 2 en wide-tent (6x, 8x ou 16x). Ces filtres apportent un très léger flou mais rien de marqué et il faut comparer des images statiques pour le remarquer. En jeu, ce n’est pas visible.

    Le plus gros des bus !

    AMD a conservé et même fortement amélioré la technologie de ring bus introduite avec le R520. Le premier grand changement porte sur la largeur du bus qui passe de 256 bits à 512 bits. AMD inaugure ainsi le premier bus mémoire 512 bits, cinq ans après le premier bus 256 bits lancé par Matrox avec la Parhelia et 9 ans après le bus 128 bus étrenné par NVIDIA avec le Riva TnT. Le Ring Bus du Radeon HD 2900 XT fonctionne à présent pour l’envoi et la réception de données alors qu’avant il n’assurait que la réception. Dans les générations précédentes, les envois étaient pris en charge par un contrôleur mémoire central qui n’est aujourd’hui plus d’actualité. Ce Ring Bus est également bidirectionnel (donc 2 x 512 bits) afin que les données accèdent à leur destination par le chemin le plus court. Le Ring Bus du R600 comporte « 5 Ring Stop » : dont 4 destinés aux contrôleurs mémoire (une par paire de puce avec un canal 64 bits) et 1 qui peut le mette directement en communication avec le bus PCI-Express. Avec « 4 arrêts de bus » ayant chacun une paire de puces en 64 bits, le compte est bon : 64 bits x 2 x 4 = 512 bits. Ce Ring Bus 512 bits permet au Radeon HD 2900 XT de bénéficier d’une bande passante sans précédent de 106 Go/s. Avec 101 Go/s, le record du GeForce 8800 Ultra n’aura pas tenu bien longtemps…

    HD, quelle HD ?

    G80 et R600, même combat ! Les chips haut de gamme d’AMD et NVIDIA font l’impasse sur les technologies UVD et PureVideo2 réservés aux modèles milieu et entrée de gamme. A titre de rappel, l’UVD ou l’Universal Video Decoder est une assistance à la décompression des flux vidéo en Haute Définition qui permet à un simple petit Sempron de décoder une vidéo en 1080p de manière fluide. Si on peut franchement regretter les mensonges marketing qui permettent de surfer sur la vague HD, on peut finalement se demander quel peut bien être l’avantage de « charger » le GPU à la place du processeur. Selon AMD, la charge d’un Core 2 Duo à 2 GHz passe de 64% à 12% avec l’UVD. C’est bien dans l’absolu mais :

  • Avec 64% d’occupation CPU, il reste encore 36% pour faire autre chose.
  • AMD ne précise pas si un Core 2 Duo à 64% seul consomme plus qu’un Core 2 Duo à 12% secondé par une Radeon avec l’UVD activé.
  • Même en charge avec le ventilateur box, un Core 2 Duo 2 GHz reste silencieux. On ne peut pas en dire autant d’une Radeon HD 2900 XT une fois que le ventilateur prend des tours…

  • L’UVD est intéressant mais absent du R600…

    Partant du fait que l’UVD est absent, ces cartes auraient simplement du porter le nom de Radeon 2900XT. Enfin, elles disposent quand même d’un décodeur audio dont le but est d’envoyer directement les flux vidéo et audio grâce à l’adaptateur DVI -> HDMI. Le connecteur HDMI du dongle répond à la norme 1.2 et la protection HDCP couvre les deux sorties Dual Link. Quitte à nous prendre pour des rabat-joie, l’intérêt de faire sortir les flux audio et vidéo par un seul connecteur ne nous paraît pas des plus évidents. A moins de se diriger vers un ampli audio-vidéo, l’image ira soit vers l’écran du PC, un projecteur ou un téléviseur plat mais le son prendra inévitablement une autre direction… Enfin, le choix d’AMD vise principalement l’obtention du logo « Vista Premium ».


    La Radeon HD 2900 XT avec son dongle HDMI

    Memory read/write cache

    Outre son unité programmable de tesselation, le R600 dispose d’une autre originalité : le memory read/write cache. Il s’agit d’une mémoire cache qui peut servir à étendre les registres des Stream Processing Units, récupérer les données brutes au lieu de les envoyer vers les ROPs ou encore aux données des Geometry Shaders. A noter que le G80 ne dispose pas d‘un cache comparable, ce qui pourrait donner un certain avantage à AMD s’il se révélait utile ou nécessaire dans les applications DirectX 10. Dans l’état actuel des chose, c’est indéterminable.

    Ce gros cache multi usages est très pratique. Il n’est pas exclu qu’il serve déjà dans l’antialiasing via les Stream Processing Units (hypothèse)…

    Les tests « théoriques »…

    Les tests de fillrate confirment bien que la vitesse de remplissage du Z buffer a doublé par rapport à la génération précédente. Dans le cas des GeForce 8800, l’opération reste cependant beaucoup plus rapide sans atteindre le maximum théorique qui se produit sous certaines conditions. Dans les autres tests de texturing pur, la Radeon HD 2900 XT se place au même niveau que la GeForce 8800 GTS. En single texturing, le Radeon HD 2900 XT progresse de 47% par rapport à la Radeon X1950 XTX mais en multi texturing, le gain n’est que de l’ordre de 20%. A titre de rappel, la différence de fréquence entre les deux VPU est de 13% mais la bande passante a progressé de plus de 70%.

    Les GeForce 8800 GTX et GTS affichent des performances similaires (en tenant compte des différences de fréquences des Stream Processor et des ROPs) avec les mêmes paliers. L’architecture du R600 a un comportement très différent de celle du G80.

  • shader 18 : Simulation de fourrure. Dans ces conditions, la Radeon HD 2900 XT s’approche plus du GeForce 8800 GTX que du GTS.
  • shader 19 : Jongler avec des shaders simples. Le R600 fait à peine moins bien que le GeForce 8800 GTS.
  • shader 20 et 21 : Ces deux shaders conduisent à un même rendu sans et avec branchement dynamique. Les branchements dynamiques font gagner un peu plus de 21% de performances aux deux G80, 23% au R580 et 24% au R600. Des gains comparables avec un petit avantage pour AMD.
  • shaders 22, 23 et 24 : Rendu HDR avec différentes approches. Le R600 est particulièrement efficace avec ce type de shaders. On retrouve cette efficacité très élevée dans les deux tests en HDR du 3D Mark 2006 (les deux dernières scènes).
  • shader 25 et 26 : Détection des contours. A l’inverse du test précédent, le R600 est ici dépassé par le G80.
  • Ces quelques exemples de pixel shaders 2.0 et 3.0 montrent que selon le cas, les résultats sont fort variables : tantôt à l’avantage du G80, tantôt en faveur du R600. Il n’y a rien d’étonnant à ce constat, les architectures sont très différentes.

    Au niveau du traitement des vertex, le R600 offre une puissance exceptionnelle. Par opposition au test précédent, il n’y a ici aucune limitation par les unités de texuring : les « 320 » Stream Processing Units peuvent libérer toute leur puissance. La Radeon X1950 XTX – seule carte à architecture non unifiée reprise dans ce test – fait à présent pâle figure au niveau de la puissance géométrique.

    Le bilan de ces tests confirme ce qu’annonçait la théorie. En pratique, les processeurs graphiques ne réalisent cependant jamais ce genre des tâches uniques. Un jeu est un mélange de pixel et vertex shaders ainsi que de texturing…

    Entre deux eaux…

    Comme nous l’avions déjà fait pour avec le G80, nous avons décidé de soumettre le R600 à différents niveaux de filtrage. Pour ce test, nous avons retenu le « GT3 » du 3D Mark 2006 en 1680×1050. Cette scène utilise un rendu HDR et est donc représentative des jeux actuels. En novembre, avec le G80, nous avions choisi la scène « GT1 » car les GeForce 7 ne supportent systématiquement le HDR et l’antialiasing. Cette fois, toutes les cartes reprises supportent ce mode de rendu.

    Dans cette scène choisie avant même de recevoir notre carte test, la Radeon HD 2900 XT se paie le luxe de rivaliser avec la GeForce 8800 GTX. Mais au fur et à mesure de l’application de filtrage plus gourmands, les performances fondent… Ceci explique accessoirement le score très élevé de la Radeon HD 2900 XT dans le 3D Mark 2006 par défaut : sans filtrage, le R600 est franchement efficace avec les scènes HDR.

    L’activation des filtrages fait perdre beaucoup de performances à la Radeon HD 2900 XT. Même le simple filtrage trilinéaire fait baisser les performances de 8%. Pire, alors que les filtrages anisotropiques 4x, 8x et 16x conduisent a des pertes respectives de 5%, 7% et 11% sur la GeForce 8800 GTS, la Radeon HD 2900 XT voit ses performances reculer de 18%, 22% et 25% ! Pas brillant pour un processeur graphique de dernière génération…

    Les chiffres sont clairs une fois de plus. Alors que la Radeon HD 2900 XT devance la GeForce 8800 GTX en rendu basique, elle se retrouve à la seconde place dès l’application du premier filtrage. En AA 4x et AF 8x, la GeForce 8800 GTX est alors 28% plus rapide. Dans ce mode, la Radeon HD 2900 XT conserve cependant un avantage sur la GeForce 8800 GTS…

    L’antialiasing est à présent supporté en mode 8x sur la dernière Radeon mais compte tenu de son impact, il n’est pas vraiment utilisable (peu importe le GPU d’ailleurs). La Radeon HD 2900 XT était déjà très touchée par le filtrage anisotropique, elle est également fortement pénalisée par l’antialiasing. L’AA 4x lui fait perdre 26% de performances. Un impact plus important que sur la Radeon X1950 XTX ! Plus inquiétant, le rendu en AA 4x et AF 8x ne permet même pas de conserver 60% des performances sans filtrage alors que les trois autres cartes préservent plus de 75% de leurs performances de base.

    Assurément, quelque chose ne tourne par rond dans le R600. En valeurs relatives, il n’est pas normal qu’un nouveau processeur graphique perde plus de performances que celui de la génération précédente lors de l’application de filtrages. Le manque de puissance au niveau des unités de texturing explique en partie la situation. Les mauvaises prestations au niveau de l’antialiasing sont plus dures à expliquer. Selon plusieurs confrères, AMD utiliserait un shader pour réaliser l’antialiasing au lieu des ROPs (suite à un problème matériel). Une approche qui expliquerait certains problèmes lors des tests réalisés avec AA. Bien qu’activé dans le pilote et/ou les jeux, l’antialiasing n’est finalement pas appliqué. Les nouveaux filtrages CFAA mis en avant par AMD offrent une plus grande souplesse mais au prix d’une charge nettement plus importante au niveau des shaders.

    Configuration de test

    Matériel

  • Asus P5W DH Deluxe
  • Intel Core 2 Duo E6600
  • Corsair CM2X1024-6400C4 (2 x 1 Go DDR2-800 4-4-4-12)
  • ATI Radeon HD 2900 XT, ATI Radeon X1950 XTX, NVIDIA GeForce 8800 GTX 768 Mo, GeForce 8800 GTS 640 Mo
  • Samsung SpinPoint 160 Go SATA-150
  • Dell 2407WFP

    Logiciel

  • Windows XP Pro + SP2
  • Catalyst 7.4 et ForceWare 158.22
  • Supreme Commander : toutes les options au maximum
  • Company Of Heros : toutes les options au maximum
  • F.E.A.R. : toutes les options au maximum (sauf Soft Shadow désactivé)
  • Tom Raider Legend : toutes les options au maximum contenu next-gen
  • Half-Life² : coast : toutes les options au maximum HDR
  • TrackMania Nations : toutes les options au maximum HDR
  • Quake 4 : toutes les options au maximum
  • Stalker : toutes les options au maximum
  • Oblivion :toutes les options au maximum HDR
  • X3 : toutes les options au maximum

    Performances

    Sachant que la Radeon HD 2900 XT serait la dernière carte à arriver, nous avions déjà réalisé tous les benchs des GeForce 8800 GTX, GeForce 8800 GTS et Radeon X1950 XTX. Compte tenu du positionnement de ces cartes, nos tests n’incluaient plus de mesures sans antialiasing ni anisotropic filtering. Après tout, nous sommes quand même en 2007 et ces filtrages vont de paire avec les cartes graphiques haut de gamme. Sur nos 11 jeux, la Radeon HD 2900 XT n’a pas été en mesure d’appliquer l’antianiasing sur 3 titres : Company of Heroes, Test Drive Unlimited et Stalker. Quant à TrackMania Nation, il ne se lançait tout simplement pas… Alors que faire ? Essayer toutes les versions des pilotes ? Tenter d’en faire des mixes ? Une chose est certaine, AMD a du pain sur la planche pour corriger ses pilotes. Nous livrons donc les scores obtenus avec les pilotes 737-27535 Supplemental Driver for Radeon™ HD 2900 series installés après les pilotes livrés sur le CD-ROM de la carte.

    Nos tests ont été réalisés en 1680×1050 et 1920×1200 avec l’AA 4x (imposé par les pilotes) et l’AF 16x. Dans ces conditions, la Radeon HD 2900 XT se positionne généralement un rien en dessous de la GeForce 8800 GTS. Dès que de nouveaux pilotes plus aboutis seront disponibles chez AMD, nous réaliserons d’autres mesures. La moyenne ne fait pas intervenir les jeux qui ont posé problème. Rendez-vous donc dans deux ou trois semaines !

    La carte, le bruit, la conso…

    Nous avons utilisé une Radeon HD 2900 XT Club 3D. Au niveau bundle, on retrouve le fameux dongle DVI -> HDMI, deux adaptateurs DVI -> VGA, une prise Composante et un connecteur Vivo avec entrées et sorties S-Vidéo et Composite et un bridge CrossFire. Par contre, pas la moindre trace d’un quelconque moyen d’alimenter la carte avec son nouveau connecteur 8 broches PCI-Express. Côté logiciel, la « Black Box » est bien entendu présente. Elle contient un code qui permet de télécharger via Steam les jeux Valve suivants : Half-Life² épisode two, Portal et Team Fortress 2.

    La carte de Club 3D conserve le design de référence autocollant compris. Avec ses 24 cm, elle est un centimètre plus longue que la GeForce 8800 GTS. La GeForce 8800 GTX conserve le « record » de longueur et accessoirement la palme des performances. Le système de refroidissement de la Radeon HD 2900 XT fait son poids. La carte accuse 930 grammes sur la balance soit 200 grammes de plus que la GeForce 8800 GTX !

    Au niveau sonore, la Radeon HD 2900 XT est une catastrophe ! Si elle est silencieuse en 2D, elle rappelle malheureusement la GeForce FX 5800 Ultra en mode 3D… Dans ces conditions, elle atteint immédiatement 47 dBA ! Un niveau sonore qui reste constant tant que la carte est sollicitée en 3D. A titre de rappel, la Radeon X1950 XTX grimpe à 45 dBA et oscille ensuite cycliquement entre 39 et 45 dBA. Quant à la GeForce 8800 GTX, elle peut monter jusqu’à 44 dBA tout comme la GeForce 8800 GTS. Cependant, le ventilateur ne reste pas systématiquement à sa vitesse de rotation maximale : sa vitesse de rotation est asservie à la température du core.

    La Radeon HD 2900 XT bat également la GeForce 8800 GTX à plates coutures au niveau de la consommation. Heureusement, elle ne dépasse quand même pas la GeForce 8800 Ultra OC de MSI testée récemment ! Etant donné que ses prestations sont au niveau de la GeForce 8800 GTS (avec AA et AF), la puissance par watt n’est pas flatteuse. Enfin, il faut noter que la carte fonctionne très bien avec une double alimentation PCI-Express six broches. Dernier détail, malgré la présence d’un mode 2D à 506/513 MHz, la Radeon HD 2900 XT consomme plus que la GeForce 8800 GTS.

    A propos des températures, notre Club 3D Radeon HD 2900 XT affihce 68°C au repos via AMD GPU Clock Tool et monte jusqu’à 75°C en charge. A titre indicatif, les GeForce 8800 GTX (62°C / 84°C) et 8800 GTS (60°C / 80°C) montent à de plus hautes températures en charge mais sont nettement moins chaudes au repos. En overclocking, notre Radeon HD 2900 XT atteint 850 MHz pour le GPU et 1010 MHz pour la DDR3 ce qui se traduit par respectivement +14,5% et +22% (les fréquences d’origine étant de 742 MHz et 828 MHz).

    Conclusion

    Même si ce R600 partage beaucoup de points communs avec le Xenos de la Xbox 360, la sortie du Radeon HD 2900 XT est bien tardive. Visiblement, tout ne s’est pas passé comme prévu. Si les performances peuvent être de très haut niveau sans filtrage – le Radeon HD 2900 XT flirte avec le GeForce 8800 GTX dans certains tests – ses prestations avec filtrages sont fortement dégradées et le relèguent au niveau d’un GeForce 8800 GTS voire en dessous. Le bus 512 bits, la bande passante de plus de 100 Go/s qui en découle, les « 320 » Stream Processing Units et accessoirement l’UVC peuvent toujours servir le département marketing d’AMD. En pratique, les prestations sont bridées par une trop faible capacité à délivrer des textures filtrées. L’anisotropic filtering fait fondre les performances de manière nettement plus marquée sur le R600 que sur un bon vieux R580. L’antialiasing provoque également une grosse perte de performances vraisemblablement suite à l’emploi d’un shader pour effectuer ce filtrage. Il reste à savoir pourquoi AMD a choisi cette approche : choix délibéré ou problème matériel ? La Radeon HD 2900 XT ayant deux visages, à chacun de la juger selon qu’il attache ou non de l’importance aux filtrages et accessoirement à des performances en dent de scie.

    A un bilan de performances déjà mitigé s’ajoutent un niveau sonore très élevé et un nouveau record de consommation qui ne font que ternir le tableau. Les pilotes qui tentent de masquer la défaillance partielle d’une unité des ROPs via un shader empêchent actuellement l’activation de l’antialiasing dans certains jeux. Tout n’est cependant pas perdu. L’architecture retenue par AMD est plus complexe que celle de NVIDIA. Plus difficile à remplir à « 100% », le R600 peut compter sur des améliorations des pilotes qui lui confèreront un meilleur rendement et donc de meilleures performances. On peut éventuellement regretter l’absence de l’UVD et le cafouillage marketing à son sujet. Mais étant donné que ce genre de carte prend généralement place sur une machine dual core récente, peu importe finalement que ce soit le GPU ou le CPU qui assure la décompression. Enfin, c’est surtout un des avantages de la Radeon HD 2900 XT qui disparaît…

    Pour finir sur une note positive, les prix placent le Radeon HD 2900 XT face au GeForce 8800 GTS 640 Mo. Le GPU d’AMD peut compter sur sa « black box » pour faire peser la balance de son côté si le bruit et la consommation ne font pas trop partie de vos soucis. Dernier détail pour ceux qui aiment « jouer à 3D Mark 2006 », le Radeon HD 2900 XT est le meilleur choix. Quoi qu’il en soit, rendez-vous dans quelques semaines pour des tests de performances avec des pilotes plus aboutis.

    Radeon HD 2900 XT : 7/10

    Pour : Performances parfois élevées sans filtrage, 3 jeux en bundle, interface HDMI HDCP Dual-Link, Vivo, Memory read/write cache (et unité de tessellation ?).
    Contre : Pilote peu abouti lors du lancement, trop peu d’unités de texturing, impact important des filtrages sur les performances, niveau sonore, consommation.