Puissexpress • R600, le 1er bilan |
————— 28 Mai 2007
Puissexpress • R600, le 1er bilan |
————— 28 Mai 2007
R600 : le 1er bilan
Après une longue attente, nous y sommes enfin : le R600 est là. AMD avait comme justification du retard la sortie simultanée, habituellement décalée, de toutes les cartes dérivées du R600. Pour le coup, c'est raté, seule la HD 2900 XT est là. Les tests sont tombés, les performances sont maintenant connues, et le bilan est mitigé puisque la HD 2900 XT se compare à la 8800 GTS 640, laissant les 8800 GTS 320, GTX et ULTRA toujours sans concurrence. Contre la 8800 GTS 640Mo la HD 2900 XT offre généralement des performances supérieures, mais parfois inférieures. Face à la 8800 GTX elle n'est que quelques rares fois supérieure. Les performances sont donc très variables, ce qui n'est jamais un bon signe. Ce mini-dossier tentera, par une étude critique débarrassée au maximum du jargon (pas totalement bien sûr), souvent incompréhensible, de la 3D, de comprendre pourquoi le R600 n'est pas la puce que tout le monde attendait.

Une Architecture nouvelle ?
Le R580, correction du R520, est un GPU efficace. Proche d'une architecture unifiée d'un point de vue fonctionnel, de part le découplage des Unités de traitement, possédant un Contrôleur Mémoire efficace et une Puissance de Calcul très grande, le R580 est une réussite (malgré sa gourmandise électrique et thermique).
Le R600, issu du Xenos, GPU de la X-Box 360, ne crée par la rupture.
Bien que l'architecture soit, cette fois, totalement unifiée et DX10, on y retrouve néanmoins la fameux Contrôleur Mémoire Ring Bus, cette fois version 512 bits, ce qui annonce une Bande Passante record, et également la même Puissance de Texturing et de Filtrage que le R580, les ROPs restent au nombre de 16, bien que AMD affirme avoir quelque peu optimisé le tout.
La principale différence, outre l'unification, se situe surtout au niveau des Unités de Calcul et de Fonctionnalités supportées.
• Les Unités de Calcul
On passe de 48 Unités de Calcul (R580) à 64 Unités de Calcul (R600). Ces dernières étant unifiées, l'efficacité en est également accrue, puisque l'unification permet le traitement de différentes tâches par toutes les Unités du GPU, cela évite donc que certaines Unités se tournent les pouces en attendant les instructions, il y a donc moins de temps morts, moins de pertes et il en résulte de meilleures performances générales. Les 64 Unités de Calcul du R600, en plus de gagner en puissance théorique, gagnent aussi en puissance pratique, comparativement au R580.
Petite parenthèse, on parle de 320 Unités de Calcul, par analogie aux 128 d'une 8800 GTX. Est-ce comparable et cela veut-il dire que le R600 est nettement plus puissant ? Non, car sur le R600, chaque Unité de Calcul en contient 5 "petites"(64 x 5 = 320) s'occupant de différentes tâches. Seulement, ces 5 "petites" Unités de Calcul ne peuvent s'additionner car elles ne sont pas interdépendantes, contrairement à celles du G80.
La Puissance de Calcul est donc revue à la hausse et dépasse la simple opération "64 - 48 = 16", puisque l'efficacité est également accrue sur le R600. Théoriquement, le R600 est environ 60% supérieur au R580 au niveau de la Puissance de Calcul.
La Puissance Géométrique est également là, puisque la fréquence GPU de la HD 2900 XT de 740mhz, combinée à l'unification, fait de cette dernière la plus puissante dans ce domaine, pour l'instant cela ne la sauve pas, mais plus tard peut-être ?
• Les fonctionnalités
- Le support DX10 est de la partie. Bien sûr, il est encore trop tôt pour en connaître les performances réelles, la partie drivers est encore loin d'être au point et les jeux DX10 encore absents (juste quelques démos).
- Le support de l'Antialiasing 8x (6x sur R580) et le support du CFAA, nouveau Filtre d'Antialiasing, en mode 12x, 16x et 24x.
- La Tesselation, ou Truform, est présente sur le R600 (issue de la Xbox-360). Pour rappel, le Truform permet plus de détails et un éclairage plus précis. Problème : cela n'a quasiment jamais été utilisé, et la Tesselation ? Même AMD ne le sait pas, peut être un jour, peut-être jamais. Un avantage sur le papier uniquement.
- Le R600 intègre un contrôleur son, ce qui permet d'intégrer du son à une vidéo via la connexion HDMI, et tout cela aux normes de Windows Vista (protection HD). Hélas, rien de nouveau du côté du décodage HD, le nouveau moteur vidéo UVD n'est pas présent sur la HD 2900 XT, les capacités seront donc à peu près les mêmes que sur R580.
En définitive, et de façon grossière, le R600 s'apparente à un R580 unifié, version DX10, avec d'avantage de Puissance de Calcul, de Puissance Géométrique et de Bande Passante. Les fonctionnalités supportées sont intéressantes à première vue, mais peu, voire pas exploitables actuellement.
AMD reste donc dans la lignée de son R580, le R600 semble fort en Puissance de Calcul et Géométrique, au détriment du Texturing et du Filtrage.
Seulement, si en son temps le R580 affrontait un G71 relativement moins avancé, actuellement le R600 affronte un G80 diablement efficace.
• Spécifications

D'emblée le R600 affiche une Puissance de Calcul et une Bande Passante record.
La puissance de Filtrage / Texturing est, par contre, faible, et ne bouge quasiment pas plus que sur le R580.
On reste bien loin du G80.
Alors, qui des deux sera le meilleur ? Un R600 supérieur en Puissance de Calcul / Bande Passante ou un G80 supérieur en Puissance de Filrate / Texturing ?
En ne tenant compte que du tableau, il est impossible de répondre, il manque un élément essentiel : l'efficacité de l'architecture.
Exemple : la X1950 XTX est théoriquement nettement supérieure en Puissance de Calcul à la 8800 GTS 640 et égale en Bande Passante, seulement cette dernière est sensiblement supérieure en pratique. Pourquoi ? Parce que le G80 dispose d'une architecture supérieure à celle du R580, paramètre impossible à mesurer sur un simple tableau.
A la simple vue du tableau, on pourrait penser, analogiquement au R580 vs G71, que le R600, du fait de sa Puissance de Calcul / Bande Passante, sera égal sinon supérieur au G80.
Hélas, connaissant maintenant les résultats décevants du R600, on ne peut tenir compte uniquement de ce tableau.
Mais pourquoi diable ce R600 n'est pas aussi efficace que ne laisse penser ses spécifications ?
Quand la théorie ne rejoint pas la pratique.
Le R600 est donc un GPU intéressant sur le papier, hélas en pratique c'est bien différent, les divers tests le plaçant au niveau d'une 8800 GTS 640.
• La puissance de Texturing / Filtrage
Avec seulement 16 Unités de Texturing et de Filtrage, le R600 semble bien moins impressionnant qu'un G80, avec ses 32 / 64 pour la 8800 GTX et 24 / 48 pour la 8800 GTS.
Est-ce dramatique ? Avec les jeux du moment pas vraiment, cela pourrait poser problème avec ceux plus anciens dont les performances dépendent en partie de la capacité de Texturing de la carte, au détriment de la Puissance de Calcul. Mais, dés que l'on fait appel à la Puissance de Filtrage, ça peut vite le devenir, car ce qui compte surtout c'est la rapidité du Filtrage, or l'activation des Filtres avec un R600 est tacite, quasi obligatoire.
Pour rappel, la Puissance de Filtrage détermine les performances d'une carte lorsque l'on fait appel au Filtrage Anistropique. Plus elle est conséquente, et moins la perte de performances, consécutive à l'activation du Filtrage, est importante.
Le R600 est nettement inférieur sur ce point précis. Exemple sous une scène de 3DMark 06 :
.jpg)
Comme nous pouvons le constater, la HD 2900 XT perd en performances dès l'activation du simple Filtrage Trilinéaire, le passage à l'Anistropique 8 / 16x ne fait que confirmer cette chute brutale. Les 8800 perdent nettement moins.
Pourquoi ? Tout simplement parce que le G80 est bien mieux doté en Unités de Filtrage. Il en résulte une chute de performances très limitée, de seulement 10% en 16x. Le R600, du fait de ses seulement 16 Unités de Filtrage, perd 25% de ses performances initiales en mode 16x.
• Le problème de ROPs, se répercutant sur l'Antialiasing
Habituellement, les ROPs ont pour rôle principal d'appliquer l'Antialiasing (AA) sur les Pixels. Le R600 dispose de 16 ROPs, soit le même nombre que le R580, le G80 en possède 24 (20 pour la 8800 GTS). L'avantage du G80 est certains, du moins théoriquement, car AMD compte bien sur son Bus 512bits et sur le fait que, en principe, le R600 est capable de travailler sur deux Pixels par cycle d'horloge.
Tout cela semble donc intéressant, et vu l'énorme Bande Passante, on espère une chute de performances en Antialiasing très réduite, seulement il n'en est en rien !
Pour rappel, la Bande Passante, déterminée par la largeur du bus mémoire et par la fréquence de la mémoire, est utile en cas d'AA. Plus celle-ci est grande, et plus la chute de performances en cas d'activation de l'AA est faible... théoriquement.
Exemple sous un scène de 3DMark 06 :
Déception, la HD 2900 XT, malgré sa Bande Passante supérieure à la 8800 GTX, perd nettement plus en performances que le G80 !
Le mode AA 8X sauve quelque peu les meubles, le bus 512bits devant être utile.
Mais on reste toute fois dans des valeurs relativement basses, au vue des spécifications de la carte.
Pourquoi une telle chute ?
Il semblerait que les ROPs ne fonctionnent pas comme il le faudrait.
En effet, l'Unité présente dans les ROPs, et devant théoriquement s'occuper de l'application de l'AA, ne fonctionne pas.
Ainsi, l'AA, bien qu'activé dans les drivers et dans les jeux, n'est parfois pas effectif.
Certains parlent de bugs, mais AMD, bien entendu, ne le dis pas officiellement. La solution trouvée serait d'utiliser les Unités de Calcul pour appliquer le CFAA (nouvel Antialiasing). Ce dernier monopolise donc des ressources habituellement employées à un tout autre travail, au lieu de passer par les ROPs, ce qui explique que les performances chutent de façon importante, car les Unités de Calcul doivent s'occuper de l'AA en plus de leurs taches traditionnelles. AMD affirme que tout est question de drivers, ils sont donc loin d'être au point !
Il semblerait qu'en baissant la mémoire à 500mhz, au lieu des 830mhz d'origine, il n'y ait presque pas de chute de performances. Cela signifierait que l'AA ne puise pas dans la Bande Passante disponible, mais bien dans les Unités de Calcul.
L'intérêt d'un bus 512bits est donc très limité.
Il est déplorable que AMD ne dise rien à ce sujet, ne serait-ce que pour les acheteurs, qui seront sans doute intéressés de comprendre pourquoi une carte disposant d'une telle Bande Passante perd autant dés lors que l'on utilise l'AA.
• La combinaison mortelle
Faible en puissance de Filtrage + ROPs non fonctionnels à 100% et solution gourmande en ressources = performances qui chutent avec les Filtres.
Exemple encore sous une scène de 3DMark 06 :

On comprend mieux le très bon score de la HD 2900 XT sous 3DMark 06, le bench se faisant sans aucun Filtre par défaut.
Les performances pratiques sont donc du même acabit, bien qu'aléatoires en fonction des jeux.
De façon générale, sans aucun Filtre, la HD 2900 XT est égale sinon supérieure à la 8800 GTX.
En mode AA 4x / AF 16x, mode correspondant à l'utilisation d'une telle carte, elle est du niveau d'une 8800 GTS 640 ou meilleure.
• Des solutions ?
- Pour la Puissance de Filtrage, le problème étant architectural, il n'y a rien à espérer. Un R650, avec plus d'Unités serait la meilleure solution.
- Pour le problème des ROPs et l'utilisation des Unités de Calcul pour l'Antialiasing, la solution serait des drivers efficients, permettant d'utiliser le moins de ressources possible. Evidemment, cela demande énormément de travail, AMD sera t-il capable de suivre ? Nous le verrons, mais en l'état cette "solution" est relativement lourde. Sans une optimisation drivers efficace, le R600 est un GPU voué à l'échec.
- Un R650, venant corriger les lacunes du R600 ? Un peu comme le R580 volant au secours d'un R520 à la durée de vie limitée, oui ce serait souhaitable pour AMD.
- Un portage massif des jeux X-Box 360 --> PC, le R600 devrait être alors particulièrement véloce.
...Et DirectX 10 ?

Bonne question, qui du G80 ou du R600 sera le plus efficace sous cette nouvelle API ?
Les deux sont capables de faire tourner des jeux DX10, oui mais ça ne nous aide pas plus. Les FX 5800 / 5900 étaient également capables de faire tourner des jeux DX9, seulement au prix de performances ridicules.
Ce qu'apporte DX10 :
- Une meilleure gestion des ressources (notamment CPU).
- Introduction des Geometry Shaders (amélioration des détails géométriques des objets pour plus de réalisme).
- Une meilleure utilisation de la mémoire des cartes graphiques (Stream Ouput).
- Unification de Shaders.
Théoriquement, avec DX10, on devrait avoir des jeux plus beaux, sans pour autant que cela nécessite beaucoup plus de ressources que sous DX9.
Bien que l'on ait aucune idée des performances sous DX10, du fait de drivers encore trop jeunes et de l'absence de jeux DX10, quelques pistes permettent de dégager une approche bien différente des deux protagonistes.
• DX10 et le R600
- La Tesselation :
Nous le savons, le R600 gère la Tesselation (issue du GPU de la Xbox 360), pour DX10, cela change quoi ?
Pour l'instant, rien. En effet, elle ne fait pas partie des spécifications de DX10. A terme, nous pensons qu'elle le sera, mais quand ?
Il est toujours possible d'utiliser la Tesselation, via des drivers optimisés, tout en passant outre les restrictions de l'API, qui ne la supporte pas officiellement. Cela facilite les portages X-Box 360 --> PC. Tout est donc laissé au bon vouloir des développeurs, qui peuvent ou non utiliser cette technologie propre au R600.
Un avantage, pour l'instant, réduit à l'état de potentialité.
Nvidia n'a rien d'équivalent avec son G80.
- Le Stream Output :
En plus de sa capacité à effectuer la Tesselation, le R600 est également équipé d'une Mémoire Cache permettant d'étendre les registres des Unités de Calcul, de récupérer des données brutes, au lieu de passer par les ROPs ou par les donnés des Geometry Shaders. Ce gros cache multi fonctions semble bien pratique. Sera t-il utile avec DX10 ? Aucune réponse n'est possible actuellement.
Nvidia n'a rien d'équivalent avec son G80.
- Les Geometry Shaders :
Comme nous l'avons, le support des Geometry Sharder par DX10 devrait permettre de réaliser bien plus de détails avec les objets géométriques (volume, triangles, ombres, etc). Le R600, de part l'unification de son architecture, mais surtout sa fréquence GPU de 740mhz est bien performant pour traiter les Vertex Shaders (Traitement Géométrique). Un jeu DX10 utilisant massivement les Geometry Shader pourraient donc être sensiblement plus rapide sur R600 que sur G80, dont la fréquence GPU est nettement inférieur (575mhz pour la 8800 GTX).
Le G80, du fait d'une fréquence GPU sensiblement inférieure, semble moins enclin à faire tourner un jeu DX10 avec beaucoup de Geometry Shaders.
• R600 : meilleur pour DX10 ?
Théoriquement, il semblerait. Seulement, il n'y a que des "si".
- rien ne dit que la Tessaltion sera utilisée.
- rien ne dit que la Mémoire Cache sera utile.
- rien ne dit que les Geometry Sharders seront massivement utilisés (si un jeu en est composé de 10%, le G80 ne devrait pas en souffrir).
En somme, le R600 semble plus fonctionnel et plus puissant dans le traitement des Geometry Shaders.
Le G80 semble lui plus "classique" dans son approche, et ne se contente "que" de supporter les spécifications DX10.
Reste à voir ce que vont faire les développeurs.
Avantager le R600, au détriment du G80 ? Ou ne pas exploiter les fonctionnalités du R600, de façon à ce que le G80 ne soit pas défavorisé ?
Tout dépendra donc des accords entre les différents acteurs du marché (souvenez-vous : Doom3 / Nvidia et Half-Life 2 / ATI).

Les faiblesses du R600 sont désormais connues, nous attendons donc que certaines soient corrigées, ou partiellement. Si la HD 2900 XT est une réelle alternative à la 8800 GTS 640, si elle propose une architecture et des fonctionnalités intéressantes, il n'en reste pas moins que cette dernière est toujours un choix possible, en fonction de critères précis (silence, consommation, prix), que le G80 domine toujours sur le Haut de gamme, et que, enfin, la 8800 GTS 320 règne toujours sans partage dans le secteur des cartes à 280 / 300 euros. AMD paye ici le prix d'une architecture à deux vitesses, qui nécessite des drivers particulièrement optimisés.
DX10 étant encore à ses débuts, nous ne pouvons rien affirmer quant aux performances du G80 et du R600, les faits se jugeant au présent.
Les avantages théoriques du R600 en sont réduits à l'état de potentialités.
Le pari est donc pour l'instant perdu pour AMD, le G80 est encore et toujours le GPU le plus puissant du moment.
Il y a donc là un problème, que AMD se doit de rectifier pour être vraiment concurrentiel.
De fait, la solution d'un R650, R600 amélioré et corrigé, semble la solution la plus sûre et la plus pérenne. Nul doute que AMD y a fortement songé :) Et pendant ce temps là, Nvidia travaille sur son G92. Décidemment, ça ne s'arrête jamais !
|
|