À l'aube du lancement de Windows Vista, l'Américain NVIDIA renouvelle son offre de puce graphique haut de gamme avec l'arrivée du GeForce 8800. Si d'emblée nous faisons le parallèle avec Windows Vista ce n'est pas franchement un hasard puisque le GeForce 8800 est la première puce graphique compatible DirectX 10 à voir le jour, ce qui tombe plutôt bien puisque Windows Vista sera le seul système d'exploitation à profiter de DirectX 10. Et autant vous prévenir tout de suite, le GeForce 8800 représente un véritable tournant chez NVIDIA dont la dernière architecture 3D majeure remonte au GeForce 6800 c'est à dire à la mi-2004. Alors que les GeForce 7 reprenaient pour l'essentiel l'architecture du NV40 avec plusieurs améliorations il est vrai plutôt bien senties, le GeForce 8 étrenne pour sa part une toute nouvelle architecture.
Fruit de près de quatre années de développement, le G80, alias GeForce 8800, aura coûté quelque 400 millions de dollars en recherche et développement à la firme au caméléon. Autant dire que NVIDIA joue gros sur cette nouvelle puce dont l'architecture est, contrairement à ce qui avait pu être indiqué par le passé, totalement unifiée. Parmi les buts poursuivis par NVIDIA lors de la conception de son G80, il y a bien sûr la prise en charge de DirectX 10, la nouvelle API 3D de Microsoft, mais également les performances DirectX 9.0 et enfin la qualité d'image, ce dernier point risquant de faire grincer des dents chez ATI, le Canadien ayant particulièrement mis l'accent dessus avec ses dernières Radeon X1900. Avant de vous présenter l'architecture du GeForce 8800, nous reviendrons sur les nouvelles fonctions de DirectX 10 puis nous découvrirons ensemble la carte et enfin nous nous attaquerons aux tests de performances.
Attention, les pages qui suivent sont relativement techniques et bien que la présentation de DirectX 10 soit indispensable pour bien comprendre le fonctionnement et l'architecture du G80, tout comme d'ailleurs la présentation de ladite architecture, nous invitons les lecteurs migraineux à passer directement en page 9.
DirectX 10 : En avant la 3D unifiée !
La nouvelle version majeure du système d'exploitation grand public de Microsoft, j'ai nommé Windows Vista, intègre une toute nouvelle interface de programmation 3D. Celle-ci, qui a portée presque tous les noms de la création (Windows Graphic Fundation, DirectX Next, etc.) se nomme finalement DirectX 10 et est exclusivement réservée à Windows Vista, Microsoft n'ayant pas l'intention de la porter sous Windows XP. Bien que DirectX 10 succède à DirectX 9.0, toute la partie concernant le rendu graphique a été totalement revue et repensée. DirectX 10 abandonne en effet toutes les fonctions fixes héritées des précédentes moutures de l'API et n'est donc compatible qu'avec les puces graphiques DirectX 10. C'est précisément pour cette raison que Windows Vista intègre également une version adaptée de DirectX 9.0 nommée Direct3D 9Ex pour permettre le bon fonctionnement des jeux actuels sur ce nouveau système.
En repartant sur de nouvelles bases, Microsoft vise avant tout à rendre son API plus légère afin que celle-ci consomme moins de temps processeur. L'éviction du support des fonctions fixes n'est pas la seule raison expliquant la diminution de la consommation processeur de DirectX 10. Par exemple, quand DirectX 9.0 procède à une validation systématique des ressources à chaque utilisation, DirectX 10 le fait une seule fois à la création, réduisant ainsi les cycles processeur. Ce n'est bien sûr pas le seul changement puisque DirectX 10 propose un tout nouveau pipeline 3D ainsi qu'un tout nouveau modèle de programmation. Les ingénieurs de Microsoft ont en effet procédé à l'unification des instructions que ce soit pour la programmation des pixels shaders ou celles des vertex shaders toujours dans le but de faciliter la vie des programmeurs. Reste que ceci ne signifie pas nécessairement qu'une puce graphique DirectX 10 se doit de disposer d'une architecture unifiée. Qui dit nouvelle version de DirectX, dit généralement nouvelle version du modèle de Shaders et avec DirectX 10 Microsoft inaugure le Shader Model 4.0.
DirectX 10 : Seulement disponible sous Windows Vista
En avant la géométrie avec DirectX 10 !
Parmi les nouveautés du Shader Model 4.0, on note bien sûr l'apparition des nuanciers de géométrie ou Geometry Shaders en anglais. Il s'agit ici de permettre au GPU de générer de la géométrie et non plus seulement de la manipuler (ce à quoi servent les Vertex Shaders). Les Geometry Shaders se servent des primitives (points, lignes ou triangles) pour générer in fine la création de formes entières, une tâche autrefois dévolue au CPU. Si un Geometry Shader ne peut générer des types de primitives différentes de celles sur lesquelles il travaille, il peut en revanche accéder aux informations des formes adjacentes, ce qui sera utile pour par exemple calculer les bords d'une silhouette. S'appuyant sur les données fournies par les Vertex Shaders, d'ailleurs situés immédiatement avant dans le nouveau pipeline 3D de DirectX, l'un des usages des Geometry Shaders sera d'augmenter les détails géométriques des objets 3D pour toujours plus de réalisme. Il s'agit de rajouter des polygones à un modèle existant, chose que l'on ne sait pas faire avec les Vertex Shaders (ce qui n'est pas sans rappeler le TruForm d'ATI). Malgré tout, les Geometry Shaders devraient permettre d'autres usages comme la génération de systèmes de particules ou encore d'effets de type fourrure. NVIDIA évoque également des effets de simulation de chevelure. Reste que la puissance exigée pour le traitement des Geometry Shaders est telle que les premières générations de GPU DirectX 10 ne devraient pas être capables d'en faire un usage intensif.Exemple fournit par Microsoft d'utilisation de Geometry Shaders pour augmenter le détail d'une figure
Le passage au Shader Model 4.0 s'accompagne de bien d'autres nouveautés comme le Stream Output qui permet d'écrire en mémoire les données résultantes d'un traitement au niveau des Vertex Shaders ou des Geometry Shaders, et ce, avant le traitement des Pixels Shaders. Ceci devrait être particulièrement utile dans le cas où un calcul nécessite plusieurs passes d'autant que jusqu'à présent, les GPU ne pouvaient écrire en mémoire que les pixels. En plus de l'unification des instructions au niveau de la programmation, les limitations imposées au niveau de la programmation des vertex ou des pixels shaders sont maintenant unifiées. Comme à chaque nouvelle version de DirectX, le nombre maximum d'instructions augmente de 512 à 65536 alors que le nombre d'instructions exécutées atteint dorénavant l'infini et que le nombre de registres temporaires est lui aussi revu à la hausse, et pas de peu, puisqu'il passe de 32 à 4096. Bien entendu, les fabricants de Processeurs graphiques n'auront pas à intégrer un tel nombre de registres dans leurs puces, mais en revanche leurs pilotes se doivent de les gérer.
Aperçu du nouveau pipeline Direct3D de DirectX 10
Les autres nouveautés de DirectX 10 : Plus de tout !
Toujours dans le but de réduire l'occupation processeur engendrée par son API, Microsoft implémente avec DirectX 10 une nouvelle gestion des états et généralise l'utilisation des tampons de constantes. Ces deux fonctions devraient permettre de revenir sur l'une des lacunes de DirectX 9.0, à savoir l'impossibilité d'exécuter des opérations répétitives par lot. Pour contourner cette limitation, les développeurs devaient donc envoyer une succession de commandes pour réaliser des opérations plutôt courantes mais répétitives comme la mise en place d'une texture et son mélange. Avec DirectX 10, les programmeurs ont ainsi accès à cinq nouveaux états d'objets qui capturent l'essentiel des propriétés du pipeline graphique. Les constantes qui sont des valeurs prédéfinies utilisées en tant que paramètres par les programmes d'ombrage, profitent dorénavant d'une mémoire tampon pouvant accueillir un total de 4096 constantes. DirectX 10 comporte plus précisément 16 mémoire tampons de constantes capable chacune d'accueillir 4096 constantes. Toutes les constantes contenues dans le tampon peuvent par ailleurs être mises à jour d'un seul coup d'un seul via une simple commande, réduisant ainsi la consommation processeur de l'API.L'occupation processeur réduite de DirectX 10 permet de rendre un plus grand nombre d'objets
Des nouveautés au niveau de la gestion des textures sont également à signaler puisque Microsoft fait évoluer le nombre de textures gérées et leur mode d'accès. On passe ainsi de 16 à 128 textures et ceci s'applique également aux Vertex Shaders qui devaient auparavant se contenter d'un maximum de 4 textures ainsi qu'aux nouveaux Geometry Shaders. La résolution des textures a également été améliorée et DirectX 10 gère dorénavant des textures d'une résolution de 8192x8192 pixels. Ce chiffre est à mettre en rapport avec la résolution de texture maximale prise en charge par les puces graphiques DirectX 9.0 : 4096x4096 pixels. Toujours au chapitre des textures, Microsoft introduit les tableaux de textures pour simplifier leur gestion. Liée au Shader Model 4.0, cette fonction permet d'utiliser plusieurs textures par shader et non plus une petite poignée comme c'est le cas avec DirectX 9.0. Sous DirectX 9.0 les développeurs devaient qui plus est créer des atlas de textures dans le seul but de contourner les importants temps de latence induits par le changement de textures.
Illustration de l'utilisation des tableaux de texture pour des détails accrus
Microsoft profite également de DirectX 10 pour rendre la prise en charge du filtrage FP16 obligatoire tout comme l'accès et le filtrage des shadow map. Et comme un bonheur n'arrive généralement pas seul, les développeurs de Microsoft proposent un nouveau type d'accès aux textures. Baptisée sobrement « load », cette nouvelle instruction permet la récupération d'un texel bien précis en utilisant des coordonnées non normalisées. Cela devrait d'ailleurs permettre d'utiliser les textures pour stocker autre chose que des données en permettant au GPU d'accéder aux données de la même manière qu'un CPU. La fonction MRT de DirectX 9.0 ou Multiple Render Target, se trouve améliorée avec DirectX 10 puisque le nombre de cibles passe de quatre à huit. Rappelons à ce sujet que la fonction MRT permet en une seule passe de générer plusieurs rendus différents.
L'autre évolution notable apportée par la dernière API en date de Microsoft concerne la précision de calcul. Bien que celle-ci reste fixée au format FP32, Microsoft impose de nouvelles contraintes aux fabricants de GPU en évitant que ceux-ci ne gèrent les nombres spéciaux ou la précision des arrondis à leur guise comme c'est le cas avec les générations GeForce 6/7 et Radeon X1000. Microsoft tente donc de rapprocher les GPU de la norme IEEE 754 qui est commune pour les CPU, même si actuellement DirectX 10 n'est pas totalement conforme IEEE 754. À ce changement assez significatif, s'ajoute la gestion totale des entiers 32 bits, en plus de la prise en charge des flottants 32 bits que l'on retrouve déjà dans DirectX 9.0c. Du côté du rendu HDR (High Dynamic Range), DirectX 10 introduit deux nouveaux formats HDR proches du FP16 mais nécessitant un stockage moindre. Le premier format baptisé R11G11B10 est optimisé pour le stockage des textures en virgule flottante avec, comme son nom le suggère, 11 bits pour les composantes rouge et verte et 10 bits pour le bleu. Le second format de rendu HDR est conçu pour être utilisé conjointement avec le Render Target et comme chaque couleur est stockée sur un nombre encore plus restreint de bit, il participe également à réduire les coûts de bande passante élevée habituellement engendré par le rendu HDR.
Deux nouveaux formats HDR avec DirectX 10
En ce qui concerne l'Instancing, ou Instanciation géométrique en français, c'est-à-dire la possibilité de dessiner plusieurs instances d'un même objet en une seule passe (concrètement le GPU calcule le rendu d'un soldat et en affiche une quinzaine à l'écran), DirectX 10 permet de lever certaines limitations. Par exemple, il n'est plus nécessaire que les objets en question utilisent la même texture grâce au tableau de textures que nous évoquions plus haut. En prime les objets profitant de l'Instancing peuvent utiliser des shaders différents. Dans la pratique l'Instancing version 2.0, comme se plaisent à le décrire certains développeurs, devrait permettre d'éviter d'assister à une multiplication de clones à l'écran pour profiter d'instances se distinguant véritablement les unes des autres.
Exemple d'un jeu utilisant l'Instancing pour multiplier le nombre de personnage
Terminons en évoquant la prise en charge de l'anticrénelage dans DirectX 10 et le fait que l'anti-aliasing de type multisampling est toujours optionnel. En attendant DirectX 10.1, qui devrait revenir sur ce point, Microsoft introduit une nouvelle méthode baptisé Alpha to Coverage visant à résoudre les problèmes de crénelage sur les polygones contenant des portions transparentes : ce genre de problème affecte particulièrement les scènes d'extérieur avec les feuillages des arbres ou encore les scènes contenant des grillages. En pratique, l'Alpha to Coverage effectue un rendu des polygones contenant des valeurs moyennement transparentes avec un anticrénelage de type multisample. Il s'agit ici d'une fonctionnalité assez proche du Transparency Antialiasing que proposent ATI et NVIDIA avec les Radeon X1000 et autres GeForce 7.
DirectX 10 et l'Alpha Coverage
NVIDIA G80 : Une architecture unifiée !
Autant vous prévenir tout de suite, il vaut mieux oublier tout ce que vous savez des GeForce 6 et GeForce 7 pour aborder sereinement le G80. Sur le plan architectural c'est effectivement le grand chambardement, NVIDIA adoptant, à la surprise générale, une architecture unifiée. Il faut dire que la firme au caméléon avait savamment organisée une campagne de désinformation autour du G80 en clamant que DirectX 10 ne requérait pas d'architecture unifiée pour le processeur graphique, ce que tout le monde avait interprété comme un signe que le G80 serait en fin de compte une sorte de puce hybride. Ce n'est finalement pas le cas, et NVIDIA est apparemment reparti de zéro ou presque pour concevoir le GeForce 8800. À ce stade il nous faut rappeler qu'ATI fut quand même le premier fabricant de puces graphiques à proposer une architecture totalement unifiée avec la puce de la Xbox 360.
Mais avant de poursuivre, il nous faut clarifier ce que l'on entend exactement par architecture unifiée. Jusqu'à présent le fonctionnement de la grande majorité des Processeurs graphiques dépend d'un pipeline. Les données arrivent du processeur central et sont traitées étape par étape au fur et à mesure de leur progression dans les différents niveaux dudit pipeline. Depuis DirectX 8, la première étape consiste à traiter les Vertex Shaders, avant de mettre en forme les primitives comme les lignes, les points, ou les triangles, à partir de nos amis les vertices qui sont, rappelons-le des sommets de triangle. Puis nos primitives, ces ébauches de figures géométriques, passent par le pixel pipeline pour subir les opérations de shading avant d'arriver dans les ROP (Raster Operations). À ce stade, nos embryons de pixels doivent encore subir tout un tas d'opérations comme le test Z ou encore l'anticrénelage avant d'être considérés comme de véritables pixels une fois qu'ils seront stockés dans la mémoire vidéo.
Architecture classique d'un GPU
Avec une architecture unifiée, il n'est plus question de cloisonner la puce graphique avec des unités de calcul spécifiques qui seraient dédiées à telle ou telle tâche et engendreraient un cheminement linéaire des pixels. Non, toutes les unités de calcul du GeForce 8800 sont polyvalentes et donc à même de traiter tout type de données (vertices, pixels, géométrie, etc.). L'avantage numéro un de cette architecture étant de permettre la répartition dynamique des tâches entre les différentes unités de calcul, et ce, en fonction des besoins de l'application. Alors que les architectures classiques disposent d'un nombre fixe d'unités dédiées au traitement des vertex, tout comme d'ailleurs le nombre d'étages du pipeline de traitement des pixels, l'architecture du G80 est programmable et peut, toujours selon l'application, voir ses unités plutôt affectées au traitement des pixels shaders ou plutôt à celui des vertex shaders ou encore aux deux à la fois. Actuellement la plupart des programmes 3D demandent une puissance de calcul plus importante sur les pixels shaders que sur les vertex shaders, ce qui explique au passage la présence d'un plus grand nombre d'unités de pixels shaders que d'unités de vertex dans les puces graphiques classiques. NVIDIA estime que les applications ont généralement des besoins différents et que certaines scènes d'un même jeu peuvent être limitées par la puissance de calcul en vertex (par exemple). Aussi l'unification de l'architecture permet-elle d'allouer le maximum de ressources nécessaires à l'opération la plus gourmande en calcul à un moment donné lors de l'exécution de toute application 3D.
Pourquoi unifier l'architecture... selon NVIDIA
NVIDIA Gigathread : Exit le pipeline, bienvenue aux Streaming Processor
Dans sa version GTX le GeForce 8800 comporte 128 unités de calcul à tout faire baptisées « Streaming Processors ». Très différents des unités actuelles, ces « Streaming Processors » sont de type scalaires et non vectoriels. A l'image des instructions SSE d'Intel le concept du calcul vectoriel est de pouvoir travailler en simultané sur un tableau de valeurs. Typiquement pour un GPU il s'agit d'applique un même traitement à différentes composantes (coordonnées X,Y,Z d'un vertex ou les valeurs de couleurs RGBA d'un pixel). Le concept d'une unité scalaire est de ne travailler que sur l'une de ses données. En effet, les opérations vectorielles sont globalement majoritaires, cependant les programmes 3D ont également recours à des calculs scalaires et dans ce cas précis, les unités vectorielles se montrent inadaptées. Selon les analyses effectuées par NVIDIA, qui dit s'être penché sur plusieurs centaines de programmes de shading, ceux-ci sont de plus en plus nombreux à recourir à des calculs scalaires en particulier lorsque les shaders mis en œuvre sont longs et complexes, ce qui justifierait le passage à une architecture scalaire.Vue de l'architecture du G80 alias GeForce 8800
Techniquement, les « Streaming Processor » fonctionnent à partir d'un flux d'entrée et chaque processeur peut reprendre un flux déjà traité par un des autres Processeurs. Pouvant être placé à proximité et en grand nombre, les processeurs de flux, comme on pourrait les baptiser en français, sont l'illustration des efforts accomplis pour une plus grande parallélisation du traitement des données. Dans l'architecture GeForce 8, NVIDIA groupe les « Streaming Processor » par paire de 8 et un bloc de calcul comprend un total de 16 de ces processeurs de flux. Chaque processeur supporte la norme IEEE 754 pour la précision de la virgule flottante et peut effectuer simultanément deux instructions (dual-issue) scalaires de type MAD (multiplier et additionner) et MUL.
Si l'on voulait faire un parallèle avec les architectures existantes, on serait tenté de dire que le GeForce 8800 équivaut à une puce graphique disposant de 32 pipelines. Ce ne serait pas tout à fait exact car si en effet lors des opérations vectorielles le GeForce 8800 se comporte comme une puce à 32 pipelines, il n'en va pas de même lorsque l'on considère les opérations scalaires. En résumant, le G80 apporte donc une bien plus grande flexibilité dans l'exécution des shaders. C'est d'autant plus vrai que la fréquence de fonctionnement des « Streaming Processor » est différente de celle de la puce : quand l'ensemble de la puce tourne à 575 MHz, les « Streaming Processor » opèrent à 1,35 GHz (du moins sur le modèle 8800 GTX).
Améliorations des branchements et de l'Early-Z
Avec le GeForce 8, NVIDIA revient également sur l'un des problèmes majeur de ses GeForce 7 : la puissance en matière de branchements. Depuis le Shader Model 3.0 les programmeurs peuvent ajouter dans leurs shaders des conditions (ce qu'on appelle des branchements) afin de sauter toute une partie des instructions. Tous les GPU décomposent la scène en plusieurs paquets de pixels et chaque unité exécute les shaders sur les pixels en question. Le problème des branchements vient du fait que si tous les pixels ne répondent pas aux mêmes conditions il faudra exécuter le programme, ou tout du moins une partie du programme, à plusieurs reprises. Du coup, la taille des paquets de pixels (également appelée granularité) est critique pour obtenir de bonnes performances. Avec les GeForce 7 les pipelines travaillaient sur des blocs de 1024 pixels rendant caduque le concept même de branchement. Afin de permettre un support réel du Shader Model 3.0, ATI avait introduit une granularité de 16 pixels sur ses X1800 (avant de revenir à 48 pixels sur les X1900). Le GeForce 8800 fait un pas dans la bonne direction en proposant lui aussi une granularité plus faible comprise entre 16 (4x4) et 32 (8x8) pixels selon les cas.Toujours dans le but d'améliorer l'efficacité de sa puce, NVIDIA introduit l'Early-Z. Il s'agit d'éliminer le plus tôt possible les pixels dont on sait qu'il ne seront pas visibles à l'écran. Sans être totalement nouvelle, l'approche de NVIDIA avec l'Early-Z consiste à effectuer la chasse aux pixels inutiles en amont dans le pipeline (ce qu'on appelle Z-Cull), histoire d'éviter un gaspillage inutile de ressources. Chaque GPU dispose en la matière de techniques censées résoudre le problème comme par exemple l'Hyper-Z chez ATI.
Schéma de fonctionnement de l'Early-Z
NVIDIA G80 : Au-delà des Streaming Processors...
Bien sûr l'architecture du G80 ne se résume pas aux seuls Streaming Processors, chacun des blocs regroupant les « Streaming Processor » comportant également quatre unités de texture. Totalement découplées des Processeurs de flux, et fonctionnant à 575 MHz sur le GeForce 8800 GTX, les unités de texture bilinéaire sont au nombre total de 64 et sont en réalité groupées deux par deux. Ce nombre impressionnant d'unités de texture permet à NVIDIA de revendiquer la possibilité de traiter 64 pixels par cycle d'horloge pour le filtrage des textures ou encore 32 pixels par cycle d'horloge pour l'adressage des textures. Ces chiffres sont à mettre en rapport avec la capacité du GeForce 7900 à traiter 24 pixels par d'horloge pour le simple filtrage. Nous le mentionnons un peu plus haut, les unités de textures sont découplées des processeurs de flux. Ce détail n'est pas anodin puisqu'il permet de sauvegarder des cycles GPU lors des opérations d'adressage des textures ou encore lors des opérations de filtrage, par exemple. Avec une puce graphique classique comme le GeForce 7, un calcul pour adresser une texture s'intercalait en général avec les opérations de traitement arithmétique des shaders empêchant ainsi l'utilisation d'un processeur de shader avant que les textures ne soient rappatriées. Grâce au fonctionnement découplé des unités de texture et des « Streaming Processsor », le GeForce 8 peut masquer de manière plutôt efficace les temps de latence induits par l'accès aux textures.Aperçu d'un bloc de calcul du G80 et fonctionnement découplé des unités de texture
Continuons notre tour d'horizon de l'architecture G80 en évoquant les ROP. Séparées des blocs de calcul comportant les fameux processeurs de flux, les partitions ROP (Raster Operation) sont au nombre de six et leur rôle consiste toujours à écrire les pixels en mémoire, autrement dit la dernière opération requise pour générer une image. Du côté des caractéristiques, NVIDIA indique que les six unités ROP du G80 peuvent traiter 4 pixels chacune pour un total de 24 pixels par cycle d'horloge lors du traitement de pixels complets (couleurs et Z). Au cas où seul le traitement Z est appliqué, les ROP du GeForce 8800 peuvent débiter 192 pixels par cycle d'horloge avec un échantillon par pixel. Rappelons que face aux 24 ROP du GeForce 8, le GeForce 7 disposait de 16 unités.
En plus de l'Early-Z précédemment évoqué, NVIDIA a également apporté des améliorations au traditionnel Z-Culling qui reste d'actualité, puisqu'aucune des deux méthodes ne peut déterminer toutes les situations d'occlusion au niveau d'un pixel individuel. La firme au caméléon revendique une vitesse de traitement quatre fois supérieure face au GeForce 7900 GTX pour tester la visibilité des pixels. Le but étant toujours de vérifier si un pixel n'est pas caché par un autre afin d'éviter de gaspiller inutilement des ressources GPU pour l'affichage d'un pixel qui sera finalement invisible à l'œil. Le sous-système ROP du G80 gère naturellement les fonctions d'anticrénelage en multi-échantillonnage (MSAA) ou super-échantillonnage (SSAA) sans oublier l'anticrénelage de transparence. Pour le rendu HDR, les mélanges des render targets en FP16 et FP32 sont logiquement pris en charge par les ROP et, comme les spécifications DirectX 10 l'imposent, 8 cibles de rendu (MRT ou Multiple Render Targets) peuvent être utilisées.
Enfin, la notion de contrôleur mémoire évolue également avec le GeForce 8, puisque la puce, dans sa version GTX, comporte six partitions mémoire en corrélation avec les six partitions ROP. Chacune des partitions dispose d'une interface 64 bits faisant du GeForce 8800 GTX une puce dont le contrôleur mémoire est finalement interfacé sur 384 bits. Si NVIDIA ne franchit pas (encore ?) le pas du contrôleur mémoire Ring Bus, cela permet à la firme de doter la carte haut de gamme de 768 Mo de mémoire GDDR3. NVIDIA n'a en effet pas non plus sauté le pas vers la GDDR4 même si cette mémoire est dores et déjà gérée par la puce.
Le moteur Lumenex : filtrage anisotrope, anti-crénelage et HDR au menu !
Derrière l'appellation marketing Lumenex, appellation qui succède pour la petite histoire au CineFX introduit avec les funestes GeForce FX, NVIDIA propose des améliorations significatives en matière de qualité d'image. L'une des nouveautés les plus marquantes concerne la qualité de filtrage des textures. Nous évoquions plus haut la puissance des unités de texture du G80 face à ses prédécesseurs, et le moins que l'on puisse dire est que cette montée en puissance n'est pas anodine puisqu'elle permet d'éviter le recours à des optimisations de filtrage souvent trop agressives. On se souvient en effet que l'architecture GeForce 7 était régulièrement pointée du doigt pour la piètre qualité de son filtrage. C'est dorénavant de l'histoire ancienne, du moins avec le GeForce 8 puisque NVIDIA propose enfin un filtrage anisotropique digne de ce nom comme on peut le voir sur les captures ci-dessous ! Notez que par défaut, les pilotes utilisent maintenant le mode de rendu haute qualité ; il était temps !Qualité de filtrage anisotropique 8x, de gauche à droite : GeForce 7900, Radeon X1950 puis GeForce 8800
Mais ce n'est pas la seule nouveauté marquante de Lumenex, que NVIDIA présente d'ailleurs comme le nouveau standard en matière de qualité d'image (...) La firme au caméléon propose des améliorations au niveau de l'anti-crénelage. C'est ainsi que la technologie CSAA ou Coverage Sampling Anti-Aliasing fait son apparition. Le but poursuivi est toujours le même à savoir réduire au maximum les effets d'escalier qui apparaissent sur les objets composant une scène 3D tout en essayant de ne pas trop grever les performances, et c'est généralement bien là que le bat blesse ! Traditionnellement, l'anticrénelage est en effet une technique particulièrement lourde qui pèse sévèrement sur les performances de la puce graphique. Utilisant de multiples échantillons de sous pixels pour calculer la couleur des silhouettes de nos objets, l'anti-crénelage exige sur le papier toujours plus d'échantillons pour fournir une qualité optimale. Mais avec plus d'échantillons à stocker et à calculer depuis la mémoire, une augmentation proportionnelle des ressources matérielle est nécessaire pour maintenir un niveau décent de performances.
Aussi NVIDIA introduit-il le CSAA qui se base sur un nouvel algorithme utilisant de manière intelligente, nous dit-on, les informations de couverture afin d'éviter l'engorgement du bus mémoire par la multiplication des échantillons. Avare de détails sur le fonctionnement exacte de sa technologie CSAA, NVIDIA indique qu'elle permet d'offrir la qualité d'un anticrénelage 16x avec des performances qui ne seraient pas plus amputées que lorsque l'on active le traditionel anticrénelage 4x. Concrètement, le CSAA agit comme un anticrénelage de type multi-échantillonnage (MSAA) dont le masque de couverture est programmable : en clair, seules certaines zones de l'image profitent d'un traitement AA. À terme avec DirectX 10.1 le programmeur pourra prédéfinir lui-même les zones de l'image nécessitant plus d'anticrénelage. Aujourd'hui et faute de pouvoir laisser les développeurs le faire, c'est le pilote qui détermine ces zones, ce qui réduit grandement l'intérêt de cette fonction. Dans la pratique, l'apport du CSAA ne semble pas flagrant sur le plan de la qualité graphique si l'on en croit nos captures réalisées sous Half-Life 2: Lost Coast en 1600x1200 :
Tests d'anticrénelage avec le GeForce 8800, de gauche à droite : pas d'anticrénelage, anticrénelage 4x standard, anticrénelage CSAA 16x
Difficile en effet de mettre en avant une réelle différence qualitative entre le rendu classique de type anticrénelage 4x et le rendu CSAA 16x sur le même jeu (en l'occurence Half-Life 2 Lost Coast). Côté pilotes, la mise en œuvre du CSAA exige un léger paramétrage de votre part. Il suffit de sélectionner l'option « Améliorer le paramètre d'application » ou d'aller plus loin et de choisir l'un des quatre nouveaux modes d'anticrénelage disponible : 8x, 8xQ, 16x et 16xQ. La bonne nouvelle étant que d'après NVIDIA la technologie est compatible avec tous les jeux prenant en charge l'anticrénelage. Nous émettons toutefois de sérieux doutes à la vue de nos captures.
Activation du CSAA au niveau des pilotes du GeForce 8800
Mais Lumenex ne s'arrête pas là, puisque NVIDIA propose pour la première fois l'utilisation conjointe de l'anticrénelage avec les effets de rendu HDR ! Souvenons-nous qu'ATI proposait en exclusivité avec ses Radeon X1000 l'utilisation conjointe du HDR et de l'anticrénelage. NVIDIA se remet donc à niveau sur ce point précis ce qui devrait satisfaire les utilisateurs les plus pointilleux. Et puisque nous parlons de rendu HDR il faut savoir que NVIDIA introduit avec le moteur Lumenex une prise en charge d'un rendu HDR amélioré. Rappelons que le HDR, ou High Dynamic Range, permet d'afficher des scènes avec une très forte variation de la clarté pour reproduire au plus près les effets naturels de contre-jour ou de réflexion de la lumière. Suivant les recommendations de Microsoft pour DirectX 10, NVIDIA offre dorénavant un rendu HDR conforme aux spécifications OpenEXR avec une précision en virgule flottante de 32 bits par composante soit un rendu HDR de type 128 bits. Comparativement à ce qu'il était possible de faire avec le GeForce 7, NVIDIA offre ici deux fois plus de précision, les puces graphiques de la génération G7x étant limitées à une précision en virgule flottante de 16 bits par composante.
Terminons enfin par le moteur d'affichage qui comme celui des Radeon X1000 est dorénavant de type 10 bits. Alors que traditionnellement une puce graphique intègre un moteur d'affichage 8 bits pour un nombre total de couleurs affichables atteignant 16,7 millions, le GeForce 8 profite d'un moteur 10 bits pouvant afficher près d'un milliard de couleurs différentes. NVIDIA se heurte toutefois au même problème qu'ATI à savoir le manque de contenu 10 bits et la rareté des écrans 10 bits : la plupart des écrans plats sont en effet de type 8 bits.
NVIDIA CUDA - Compute Unified Device Architecture
Avec son GeForce 8800, NVIDIA fait un pas en direction des développeurs souhaitant utiliser le processeur graphique comme une sorte de coprocesseur pouvant soulager le processeur central ou CPU de certains calculs. Le but est de transformer la puce graphique en une unité de calcul générale et l'architecture massivement parallèle du G80 s'y prête plutôt très bien sur le papier. En effet, il n'y a qu'à remplacer la matière de travail du G80, à savoir les pixels, par des threads, autrement dit des processus. Mais avant d'aller plus loin, rendons à César ce qui lui appartient, en soulignant qu'ATI a été le premier à faire un pas dans cette direction avec son soutien au projet GPGPU (General Purpose Graphics Processor Unit) lors du lancement de ses Radeon X1800 puis plus récemment avec l'arrivée d'une version adaptée à ses puces Radeon X1900 du client Folding@home. Chez ATI on appelle cela le Stream Computing, mais chez NVIDIA on préfère parler de Thread Computing.Pourquoi Thread Computing ? Tout simplement car contrairement au Stream Computing d'ATI, la solution de NVIDIA permettrait aux différents processus traités de communiquer entre eux. Autre avantage mis en avant pour CUDA : l'utilisation d'un langage de programmation on ne peut plus standard, le C. Dès lors, il est possible de programmer le G80 comme l'on programmerait n'importe quel processeur x86, le travail d'interprétation étant in fine à la charge du compilateur. C'est assurément un plus pour la firme au caméléon car la solution Stream Computing d'ATI impose en effet d'utiliser pour l'instant Direct3D en vue de programmer le processeur graphique, même si à terme ATI devrait s'affranchir de cette contrainte. Bien sûr, CUDA se base sur un jeu d'instructions supplémentaire, mais NVIDIA se montre particulièrement discret à son sujet. La firme ne souhaite pas dévoiler publiquement le jeu d'instructions CUDA, le réservant à quelques partenaires triés sur le volet. Tout aussi ennuyeux, NVIDIA ne garantie pas non plus sa pérennité ; il est susceptible d'évoluer d'une génération de puce graphique à l'autre.
L'architecture de GeForce 8800 lorsque CUDA est mis en oeuvre
En prime, NVIDIA annonce que sa technologie CUDA peut profiter du passage en SLI alors qu'il est possible d'utiliser simultanément la même puce graphique pour un traitement CUDA et un rendu 3D. Pour l'instant CUDA reste somme toute assez théorique et opaque, aucune application concrète n'en tirant encore partie, aussi nous ne rentrerons pas plus dans les détails.
NVIDIA PureVideo
Introduite avec les GeForce 6200 il y a maintenant plusieurs mois, la technologie PureVideo avait fait sourire à ses débuts tant son champ d'application était restreint. Toutefois, il faut bien reconnaître qu'au fil des nouveaux pilotes et générations de puces graphiques, celle-ci s'est largement bonifiée. Aujourd'hui, l'usage numéro un de PureVideo est sa capacité à soulager le processeur central lors du décodage de fichiers vidéos aux formats H.264, VC-1, WMV, WMV HD et MPEG 2 HD.
Pour ce faire, le GeForce 8800 intègre un bloc de transistors exclusivement dédié au traitement de la vidéo. Toutefois, les amateurs seront probablement déçus d'apprendre que NVIDIA n'a apporté aucun changement à la logique PureVideo. On retrouve donc les mêmes capacités qu'avec les GeForce 7 avec en prime deux nouvelles fonctions proposées au niveau des pilotes : les filtres PureVideo de réduction du bruit et d'amélioration des contours sont maintenant capables de fonctionner sur les flux vidéos haute définition. La possibilité d'utiliser la puissance de la puce pour aider non plus au décodage mais à l'encodage vidéo est quant à elle toujours étudiée par NVIDIA.
NVIDIA G80 : Une puce é...norme !
Techniquement, le GeForce 8800 est peut être l'une des puces, graphique ou non d'ailleurs, les plus impressionnantes jamais réalisée. Sa taille est tout bonnement énorme, puisque ce sont près de 681 millions de transistors qui l'animent ! C'est plus de 2 fois le nombre de transistors du GeForce 7900 GTX (278 millions) et du Core 2 Duo (291 millions). Vraisemblablement à cause du nombre particulièrement élevé de transistors, NVIDIA n'a pas voulu prendre le risque de lancer la production de cette gigantesque puce avec une nouvelle finesse de gravure. Le G80 reste donc gravé en 90 nm par TSMC tout comme le sont les GeForce 7. Le packaging de la puce évolue puisque le die est recouvert d'un très imposant couvercle métallique du même acabit que celui qui équipe les Processeurs Athlon 64.NVIDIA GeForce 8800 : la puce ici en version GTS
Sans que l'on sache si cela ait ou non un rapport, le GeForce 8800 inaugure pour la première fois ce que NVIDIA appelle le NV I/O 1. Il s'agit d'une puce additionnelle sur laquelle NVIDIA donne peu de détails et qui intègre une bonne partie de la logique d'affichage 2D à savoir les RAMDAC, les TMDS et autres transcodeurs en charge de l'affichage final. En déportant toute cette partie hors de la puce, NVIDIA évite de rendre son G80 trop ventripotent, mais ce choix fait également monter l'addition puisque les fabricants de Cartes Graphiques devront acheter deux puces... et non une ! On notera que le Dual Dual-Link DVI est toujours de la partie comme le double RAMDAC 400 MHz. À noter que les clefs HDCP nécessaires à la gestion de la norme éponyme sont stockées via une CryptoROM externe et non directement dans le NV I/O.
La puce NVIO accompagnant le GeForce 8800
Question consommation électrique, et malgré les craintes que l'on pouvait avoir, NVIDIA est finalement resté presque mesuré. Ainsi, d'après nos relevés de consommation, le GeForce 8800 GTS consomme légèrement moins qu'une GeForce 7950 GX2 alors que le modèle GTX est finalement loin de crever le plafond. NVIDIA recommande tout de même une alimentation de 450 Watts avec une ligne 12 volts de 30A pour le GeForce 8800 GTX. Plus modeste, le GeForce 8800 GTS se contentera d'une alimentation 400 Watts avec une ligne 12 volts de 26 ampères. Côté enveloppe thermique, la firme de Santa-Clara indique un TDP maximum de 147 Watts pour le GeForce 8800 GTS contre 177 Watts pour le GeForce 8800 GTX. Ici en revanche, c'est presque un doublement du TDP, ce qui n'est jamais bon signe, puisque le GeForce 7900 GTX affichait un TDP de 90 Watts...
Consommation électrique globale du système | |
GeForce 7900 GTX | 256 Watts |
GeForce 7950 GX2 | 277 Watts |
GeForce 8800 GTS | 273 Watts |
GeForce 8800 GTX | 308 Watts |
Radeon X1950 XTX | 280 Watts |
GeForce 8800 GTS et GTX : les spécifications
L'arrivée du G80 est l'occasion pour NVIDIA de ressusciter la déclinaison GTS que l'on avait plus vue depuis... le GeForce 2 ! C'est dire si ça date ! Et contrairement à la génération de puces précédentes où le GeForce 7900 GT partageait avec le modèle GTX la même architecture, il existe de sérieuses différences entre les deux variantes de notre tout nouveau, tout beau GeForce 8800. Ainsi la GeForce 8800 GTS compte 96 « Streaming Processor », 20 unités ROP et dispose d'une interface mémoire 320 bits. Ses fréquences sont de 500 MHz pour l'ensemble de la puce, 1,2 GHz pour les processeurs de shaders et 800 MHz pour la partie mémoire. De son côté, le GeForce 8800 GTX comporte 128 « Streaming Processor », 24 unités ROP et profite d'une interface mémoire 384 bits. Ses fréquences s'établissent à 575 MHz pour la puce, 1,35 GHz pour les « Streaming Processor » et 900 MHz pour la mémoire. Quand le GeForce 8800 GTS comporte 640 Mo de mémoire, le modèle GTX en embarque 768 Mo. Enfin, côté bande passante mémoire théorique, le GeForce 8800 GTS revendique 64 Go/s contre 86,4 Go/s pour son grand frère le modèle GTX.À la lecture de cette nomenclature, vous aurez compris que sur le papier le GeForce 8800 GTX dispose d'une puissance brute 33 % supérieure à celle du modèle GTS. Il faudra voir dans les pages qui suivent comment cela se traduit en pratique.
GeForce 8800 GTS | GeForce 8800 GTX | |
Interface | PCI-Express 16x | PCI-Express 16x |
Gravure | 0,09µ | 0,09µ |
Transistors | 681 Millions | 681 Millions |
RAMDAC | 2x 400 MHz | 2x 400 MHz |
T&L | DirectX 10 | DirectX 10 |
Stream Processors | 96 | 128 |
Unités ROP | 20 | 24 |
Mémoire embarquée | 640 Mo | 768 Mo |
Interface mémoire | 320 Bits | 384 Bits |
Bande passante | 64 Go/s | 86 Go/s |
Fréquence GPU | 500 MHz | 575 MHz |
Fréquence Stream Processors | 1200 MHz | 1350 MHz |
Fréquence mémoire | 800 MHz | 900 MHz |
Les cartes GeForce 8800 GTS MSI, GeForce 8800 GTX Sparkle
MSI et Sparkle sont parmi les premiers fabricants à avoir pu nous faire parvenir des cartes basées sur le GeForce 8800. C'est donc tout naturellement que nous utiliserons leurs cartes pour ce test. À noter que comme bien souvent avec les nouvelles générations haut de gamme, tous les fabricants sont logés à la même enseigne puisqu'Asus a l'exclusivité de la fabrication des cartes à base de G80. Charge ensuite à ses petits camarades de les personnaliser en créant l'autocollant le plus... enfin... le moins laid ! Notez également que le PCB employé est différent entre le GeForce 8800 GTS et le GeForce 8800 GTX. Proposées exclusivement au format PCI-Express 16x, les cartes GeForce 8 ne verront pas le jour au format AGP, la puce étant incompatible avec le bridge HSI mis au point par NVIDIA il y a quelques années.
MSI signe avec son GeForce 8800 GTS une carte assez peu commune avec pour la première fois un PCB et un bracket noir ! Mesurant dans les 23 centimètres, la carte adopte un système de refroidissement d'un nouveau genre qui s'avère assez monstrueux. Le ventirad se compose d'un épais socle en cuivre qui repose sur la puce graphique et est connecté à un gros radiateur métallique via un heat-pipe. Le tout est enfermé dans une coque de plastique à l'extrémité de laquelle souffle un imposant ventilateur de type cage d'écureuil. Il s'agit d'un modèle CoolerMaster TM63. La chaleur est ainsi expulsée à l'extérieur de la carte via les ouvertures aménagées sur la partie supérieure du bracket. À la vue du dispositif on pourrait légitimement craindre que la carte soit particulièrement bruyante, ce qui n'est heureusement pas le cas, le bruit du ventilateur étant bien souvent moins strident que celui d'une GeForce 7950 GX2.
MSI GeForce 8800 GTS
Avec un seul connecteur d'alimentation PCI-Express, la carte dispose d'un connecteur SLI et utilise la puce NV I/O pour la gestion des sorties vidéos. À ce propos, on retrouve comme de bien entendu deux ports DVI Dual-Link ainsi qu'une sortie vidéo au format propriétaire. Munie de 640 Mo de mémoire vidéo, la carte utilise une dizaine de puces Samsung en GDDR3 certifiées à 1,2 ns et ses fréquences respectent celles établies par NVIDIA, à savoir 500 MHz pour la puce et 800 MHz pour la mémoire.
Du côté de Sparkle, la GeForce 8800 GTX s'avère bien plus grande que sa petite sœur à base de GeForce 8800 GTS. Si le PCB demeure noir, il mesure 27 centimètres de long ! À titre de comparaison, la GeForce 7950 GX2 ne mesure que 23 centimètres. Résultat, la carte aura du mal à se loger dans les boîtiers du commun des mortels sauf à faire de la place au niveau des Disques durs et des câbles circulant à l'intérieur de la machine. Autre différence notable avec le GeForce 8800 GTS, le modèle GTX comporte deux connecteurs d'alimentation PCI-Express ! Il vaudra donc mieux disposer d'une alimentation SLI pour faire convenablement fonctionner la carte. En prime ce ne sont pas un mais deux connecteurs SLI qui sont présents sur la carte. Le système de refroidissement est quant à lui identique dans sa conception à celui de la GeForce 8800 GTS bien que légèrement plus large. Le ventilateur s'il est toujours signé CoolerMaster est dorénavant un modèle TM61. Pour autant, il n'est pas plus bruyant et arbore ici les couleurs de Sparkle.
Sparkle GeForce 8800 GTX
Embarquant la bagatelle de 768 Mo de mémoire vidéo, la carte utilise 12 puces mémoires GDDR3 de marque Samsung et certifiées à 1,2 ns. La puce NV I/O est bien sûr de la partie, et les fréquences de le carte sont conformes à celles édictées par NVIDIA soit 575 MHz pour la puce graphique et 900 MHz pour la mémoire. En sortie, le GeForce 8800 GTX de Sparkle offre deux connecteurs DVI Dual-Link ainsi qu'une prise vidéo. Sparkle nous ayant fait parvenir une version commerciale de sa carte nous sommes en mesure d'évoquer rapidement le contenu de la boîte, qui est plutôt sommaire. On retrouve en effet un bref manuel, un CD de pilote, un seul adaptateur DVI/VGA, un câble S-Vidéo, un câble avec sorties composante, et deux adapateurs électriques Molex vers PCI-Express. Le fabricant n'oublie pas l'aspect logiciel et livre le jeu Call Of Duty 2 en version complète ainsi que PowerDVD 6.
Pour évaluer les performances des nouvelles GeForce 8800 GTS et GeForce 8800 GTX nous avons eu recours à la configuration suivante :
- Intel Core 2 Extreme X6800 2.93 GHz,
- Carte mère eVGA nForce 680i SLI,
- 2x1 Go Corsair Twin2X 6400C3,
- Disque dur Western Digital Raptor 150 - Serial-ATA 150
Nous comparerons ici le GeForce 8800 GTS de MSI et le GeForce 8800 GTX de Sparkle aux GeForce 7900 GTX, GeForce 7950 GX2 mais également à un SLI de GeForce 7900 GTX. Pour les Cartes Graphiques à base de GeForce 7 nous avons employé les pilotes ForceWare 96.94 alors que nous avons eu recours aux ForceWare 96.97 pour les cartes GeForce 8. Nous ne manquerons bien sûr pas d'opposer les GeForce 7/8 à leurs concurrentes ATI et pour cela nous avons retenu la configuration suivante :
- Intel Core 2 Extreme X6800 2.93 GHz,
- Carte mère Asus P5W-DH Deluxe (BIOS 1601),
- 2x1 Go Corsair Twin2X 6400C3,
- Disque dur Western Digital Raptor 150 - Serial-ATA 150
3DMark 06
On démarre comme de coutume avec 3DMark 06 et d'emblée, le GeForce 8800 GTX crève le plafond en affichant un score similaire à notre CrossFire de Radeon X1950 XTX en 2560x1600 ! Face à un SLI de GeForce 7900 GTX, la dernière-née de NVIDIA est 31% plus rapide ! Et si l'on compare le score du GeForce 8800 GTX à celui du GeForce 7900 GTX seul, l'écart atteint 137% en 2560x1600 ! Autant dire que le Radeon X1950 XTX d'ATI est incapable de faire face, puisque même le GeForce 8800 GTS se montre plus rapide. La carte de MSI signe ici un score 31% supérieur au Radeon X1950 XTX en 1920x1200.
Half-Life 2 - Lost Coast - HDR
En attendant le prochain opus des aventures de Gordon Freeman, nous nous rabattons sur le fameux niveau Lost Coast d'Half-Life 2. Le GeForce 8800 GTX de Sparkle se retrouve invariablement en tête, et ce même en 2560x1600 où il fait mieux que les systèmes SLI et CrossFire. Toutefois l'avantage du GeForce 8800 GTX sur les configurations multi-GPU est ici bien plus restreint. Face au GeForce 7950 GX2, que le GeForce 8800 GTS égale, le modèle GTX est 35% plus performant en 2560x1600. Et comparé aux GeForce 7900 GTX et Radeon X1950 XTX, ces deux cartes étant à égalité en 2560x1600, le GeForce 8800 GTX affiche des performances 93% supérieures.
Splinter Cell Chaos Theory - 1.05
Pour l'agent le plus connu de la NSA, notre ami Sam Fisher, le GeForce 8800 est une bénédiction. Du moins en 1600x1200 où la carte signée Sparkle se montre incroyablement véloce. A vrai dire l'écart est tel que le résultat ne tient tout simplement pas debout en 1600x1200 surtout comparativement à la GeForce 8800 GTS. Pourtant exécuté à plusieurs reprises le test nous donne le même résultat dans cette résolution, résultat plutôt incongru donc. Dans les résolutions supérieures, la carte s'essouffle quelque peu et cède même sa place au SLI de GeForce 7900 GTX qui s'octroie alors la pôle position. En 1920x1200, le GeForce 8800 GTS est aussi rapide que le Radeon X1950 XTX alors qu'il devance le GeForce 7900 GTX de 15%. Mais ce n'est rien face au GeForce 8800 GTX qui lui se montre 62% plus performant que l'ancien haut de gamme des GeForce 7, le GeForce 7900 GTX. Ici l'écart de performances entre GeForce 8800 GTS et GeForce 8800 GTX atteint 42%.
Quake 4 - v1.2
On enchaîne avec Quake 4 qui demeure basé sur le moteur graphique de Doom 3. Ici le GeForce 8800 GTX est en tête et dépasse légèrement notre configuration CrossFire à base de Radeon X1950 XTX ainsi que le SLI de GeForce 7900 GTX. Comparé à une seule Radeon X1950 XTX, le GeForce 8800 GTX est 15% plus rapide en 1920x1200 et cet écart se creuse pour atteindre 31% en 2560x1600. Le GeForce 7900 GTX en prend ici pour son grade, puisqu'il est largement distancé : pensez vous le GeForce 8800 GTS de MSI est déjà 35% plus rapide alors que le GeForce 8800 GTX de Sparkle enfonce le clou avec un framerate 70% plus élevé, toujours en 2560x1600 !
Call Of Duty 2 - v1.3
Alors que la version 3 de Call Of Duty est pour l'instant réservée aux seules consoles, la précédente mouture, donne le G80 gagnant et ce haut la main. Le GeForce 8800 GTX de Sparkle domine l'épreuve alors que le modèle GTS de MSI se classe troisième très légèrement en retrait du SLI de GeForce 7900 GTX. En 1600x1200 l'écart entre les deux GeForce 8 est de 24% et grimpe à 34% en 2560x1600. En 1920x1200, résolution de prédilection des écrans 24 pouces wide, le GeForce 8800 GTX est 57% plus performant que le GeForce 7900 GTX.
F.E.A.R. Extraction Point
Basé sur le moteur graphique de F.E.A.R., la dernière mouture du jeu est particulièrement favorable au GeForce 8800 GTX qui, s'il fait jeu égal avec le SLI de GeForce 7900 GTX en 1600x1200 et 1920x1200, reprend l'avantage en 2560x1600. Face au CrossFire de Radeon X1950 XTX, la petite dernière de NVIDIA est 46% plus rapide ! Mais précisons que nous avons du renommer l'exécutable de F.E.A.R. Extraction Point pour que les accélérations CrossFire soient opérationnelles. Par défaut les pilotes CATALYST 6.10 ne proposent hélas aucune accélération pour cette extension. Plus modeste le GeForce 8800 GTS reste tout de même 60% plus rapide que le GeForce 7900 GTX et donc que le Radeon X1950 XTX qui fait ici jeu égal avec le dernier représentant des GeForce 7.
Company Of Heroes - v1.2
Tout récent, Company Of Heroes est un jeu de type RTS autrement dit un jeu de stratégie temps réel qui a la particularité d'être plutôt gourmand. Résultat, le GeForce 8800 GTX s'en tire avec les honneurs en étant près de 138% plus performant qu'une Radeon X1950 XTX en 1920x1200, rien que ça ! Mais ce chiffre énorme est aussi valable face au GeForce 7900 GTX les deux cartes étant à égalité. Le GeForce 8800 GTS de MSI affiche de bonnes performances, et la carte se classe troisième derrière le SLI de GeForce 7900 GTX. Ce test met également en lumière l'inutilité du CrossFire et nous soulignerons le très désagréable bug qui affecte les GeForce 7950 GX2 avec un clignotement de texture absolument insupportable (NVIDIA indique que ce bug sera corrigé par le patch 1.3 du jeu).
Tomb Raider Legends - v1.2
Lara Croft ne contredit pas nos précédents tests et place nos deux GeForce 8 en tête de podium. En 1600x1200, le GeForce 8800 GTX affiche des performances 37% supérieures. Comparé au GeForce 7900 GTX, la carte de Sparkle est pratiquement trois fois plus véloce en 2560x1600. Et face au Radeon X1950 XTX d'ATI l'écart atteint les 130% en 2560x1600 ! Enorme, tout simplement.
Far Cry v1.4 - HDR 7
Pas franchement nouveau, Far Cry a suivi d'assez près les évolutions graphiques en supportant tour à tour l'instantiation géométrique, le Shader Model 3.0 ou encore le rendu HDR. Pour ce dernier, il aura tout de même fallu être particulièrement patient puisque le patch 1.4 est sorti en version finale il y a tout juste quelques semaines. Les plus aguerris d'entre vous noteront l'absence de résultat du CrossFire de Radeon X1950 XTX en 2560x1600 : c'est hélas normal le jeu ne se lançant pas dans cette résolution. Globalement Far Cry est très favorable au GeForce 8800 GTX qui reste le plus rapide dans toutes les résolutions même si le SLI de GeForce 7900 GTX n'est jamais très loin. En 1600x1200, le GeForce 8800 GTX est 84% plus rapide que le Radeon X1950 XTX. Cet écart se creuse un peu plus face à une seule GeForce 7900 GTX alors que le GeForce 8800 GTX revendique des performances 35% supérieures au modèle GTS. Ce dernier fait d'ailleurs très légèrement mieux que le GeForce 7950 GX2 dans toutes les résolutions.
Need For Speed Most Wanted - v1.3
Fidèle à lui même, Electronic Arts ne propose toujours pas de résolution large avec la dernière version de Need For Speed, à savoir Need For Speed Carbon. Nous avons bien trouvé un hack en arpentant la toile mais celui-ci ne fonctionne pas convenablement... du coup nous gardons notre Need For Speed Most Wanted que nous testons toujours avec FRAPS. La balance penche toujours aussi nettement en faveur du GeForce 8800 GTX mais la surprise vient du CrossFire de Radeon X1950 XTX qui se montre ici tout aussi performant. Reste que face à un unique Radeon X1950 XTX, le GeForce 8800 GTX est 86% plus performant ! Le GeForce 8800 GTS fait un peu mieux que le modèle 7950 GX2 avec des performances 20% meilleures en 2560x1600.
F.E.A.R. Extraction Point - FSAA 4x - Anisotropic Filtering 16x
En activant les fonctions du filtrage sous F.E.A.R., le CrossFire reprend ses droits et devance le GeForce 8800 GTX. Ce dernier demeure toutefois la puce la plus rapide avec des performances 36% supérieures au Radeon X1950 XTX en 1920x1200 mais cet avantage retombe à 14% en 2560x1600. On notera les faibles performances du GeForce 8800 GTS puisqu'ici le modèle GTX se montre tout de même jusqu'à 94% plus performant en 2560x1600 ! Curieux, peut être un problème de pilote ?
Quake 4 - v1.2 - FSAA 4x
Retour sous Quake 4 en activant cette fois-ci l'anticrénelage 4x. En tête : le GeForce 8800 GTX suivi, en 2560x1600, du Radeon X1950 XTX. Le GeForce 8800 GTX de Sparkle se montre tout de même 15% plus véloce que le dernier haut de gamme d'ATI, et face au modèle GTS de MSI l'avantage grimpe à 55% en 2560x1600. En comparant le GeForce 8800 GTX au GeForce 7900 GTX on note que le petit nouveau est 54% plus performant en 1920x1200, alors qu'en 2560x1600 l'avantage pour le GeForce 8 atteint 110% !
Call Of Duty 2 - v1.3 - FSAA 4x - Filtrage Anisotropique
On démarre cette troisième page de tests avec Call Of Duty, toujours dans sa mouture 2 pour PC, mais cette fois en activant les fonctions de filtrage directement depuis le jeu. Sans grande surprise, le GeForce 8800 GTX reste largement en tête, devant le SLI de GeForce 7900 GTX. Et l'écart entre les deux solutions est loin d'être anodin ! En 1920x1200, le GeForce 8800 GTX revendique 26% et ce chiffre grimpe à 35% en 2560x1600. Le GeForce 8800 GTS se montre ici particulièrement convaincant en étant aussi rapide que le SLI de GeForce 7900 GTX. Face à un Radeon X1950 XTX, le GeForce 8800 GTS de MSI est 13% plus rapide en 1600x1200 alors que l'avantage de la dernière puce de NVIDIA ne cesse de grandir plus la résolution augmente. Ainsi en 2560x1600, le GeForce 8800 GTS est 28% plus performante que la petite dernière d'ATI.
Half-Life 2 - Lost Coast - FSAA 4x - AF 8x
Pour notre ami Gordon Freeman, le héros d'Half-Life 2, l'activation des fonctions de filtrage fait toujours pencher la balance en faveur du GeForce 8800 GTX. Celui-ci domine ses compétiteurs sauf peut être en 2560x1600 où il fait jeu égal avec le CrossFire de Radeon X1950 XTX. En 1600x1200, le GeForce 8800 GTX est 33% plus performant que le GeForce 7950 GX2 et 77% plus rapide que le GeForce 7900 GTX. Le Radeon X1950 XTX étant à égalité avec le GeForce 7900 GTX, l'écart avec le GeForce 8800 GTX est donc identique.
Test CSAA - Half-Life 2 Lost Coast - GeForce 8800 GS
Nous terminons notre série de tests par un aperçu des performances relevées avec une GeForce 8800 GS en activant la fonction CSAA sous Half-Life 2 Lost Coast. Nous comparons les performances relevées avec celles obtenues en anticrénelage 4x et sans anticrénelage. Notez que dans tous les cas le filtrage anisotropique 8x est actif. Comme on peut le voir l'activation du CSAA 16x n'est pas tout à fait sans effet sur les performances puisque celles-ci sont environ 30% inférieures à celles obtenues avec l'anticrénelage 4x activé dans le jeu.
Conclusion
Arrivés au terme de cet article, il nous faut dresser un premier bilan du G80, la nouvelle puce graphique haut de gamme de NVIDIA. Surprenant, voilà le premier mot qui vient à l'esprit en considérant le GeForce 8800. Force est en effet de constater que la puce est très différente de ce à quoi on s'attendait, NVIDIA accouchant ici d'une toute nouvelle architecture de type unifiée où chacune des unités de calcul est à même de traiter tout type de données. Audacieux, le pari semble couronné de succès puisque les performances sont bel et bien au rendez-vous ! Pensez donc, avec les applications DirectX 9.0c les performances sont parfois multipliées par deux face au GeForce 7900 GTX ou à l'offre actuelle d'ATI ! Sur le plan architectural, la puce semble donc globalement réussie même si certains regretteront le nombre finalement peu élevé d'unités ROP.
Comme un bonheur n'arrive jamais seul, NVIDIA corrige les épineux problèmes de qualité qui accablaient les GeForce 7. Avec le GeForce 8, les utilisateurs profitent enfin d'une qualité de filtrage anisotropique digne de ce nom (exit les fourmillements de texture). Mieux, il est même possible de profiter de l'anticrénelage avec des effets de rendu HDR ! Deux changements qui sont plus que bienvenus et qui gomment de fait les principaux défauts des GeForce 7. NVIDIA en profite en outre pour introduire un nouveau type d'anticrénelage, le CSAA, mais nous sommes ici beaucoup plus réservés sur son utilité faute d'avoir pu mettre en avant de réelle différence visuelle.
Au-delà des indéniables qualités évoquées précédemment, le GeForce 8800 s'affiche qui plus est comme la première puce graphique DirectX 10, exception faites de l'hasardeux G965 d'Intel. Disponible uniquement sous Windows Vista, DirectX 10 devrait être à la base de nombre de nouveaux jeux dans les mois qui viennent. Crysis, le successeur de Far Cry, devrait ainsi tirer parti des fonctionnalités supplémentaires offertes par DirectX 10. Toutefois, difficile aujourd'hui de se prononcer sur le comportement du GeForce 8800 avec les jeux DirectX 10. Il s'agit là de la grande inconnue car l'efficacité de l'architecture du G80 dépendra en grande partie des choix que feront les développeurs. Aujourd'hui, NVIDIA ne se risque même pas à fournir des pilotes DirectX 10 à la presse... Patience, donc !
Quelques captures des démos technologiques du G80
Alors un sans faute ce GeForce 8 ? Peut être pas tout à fait car cette véritable débauche de moyens a un coût. Avec 681 millions de transistors la puce requiert un système de refroidissement plutôt massif et une alimentation électrique qui tient la route. Si pour une carte haut de gamme ces deux paramètres sont moins importants que pour une solution milieu de gamme, d'autant que le refroidissement reste heureusement silencieux, la taille de la carte est tout bonnement impressionnante ! Ainsi, la GeForce 8800 GTX mesure 27 centimètres de long et il est clair qu'une telle carte ne rentrera pas dans tous les boîtiers... Et quand bien même elle rentrera, elle butera sur les ports Serial-ATA ou les rails du disque dur. Côté portefeuille cela risque également de faire mal, car NVIDIA annonce un prix public conseillé de 649 euros TTC ! Et alors que la disponibilité de la GeForce 8800 GTX s'annonçait déjà particulièrement tendue, NVIDIA doit faire face à un problème de dernière minute avec une résistance défectueuse sur les premiers échantillons de GeForce 8800 GTX ayant entraîné un rappel systématique des unités défectueuses. Bref, le modèle GTX ne devrait donc pas courir les rues ! Plus raisonnable tant sur le plan du design que de la tarification, la version GTS est aussi moins performante, jusqu'à 30 % de performances en moins que la version GTX. Reste que cela équivaut dans la plupart des cas à une GeForce 7950 GX2 ce qui n'est déjà pas si mal ! Du coup à 499 euros TTC, le prix public conseillé pour la GeForce 8800 GTS, celle-ci aura notre recommandation par rapport à une Radeon X1950 XTX vendue il est vrai un peu moins cher en contre-partie de performances moindres.
Une de ces Cartes Graphiques vous intéresse ? Retrouvez-la dans le
Comparer les prix des cartes GeForce 8800 GTX
Comparer les prix des cartes GeForce 8800 GTS