NVIDIA GeForce 8800 GTX & 8800 GTS Cartes Graphiques Publié le Lundi 12 Février 2007 par Damien Triolet URL: /articles/644-1/nvidia-geforce-8800-gtx-8800-gts.html Page 1 - Le premier GPU DX10 ![]() Premier GPU DirectX 10 ![]() Les nouveautés introduites concernent principalement d’une part les développeurs qui disposeront d’un DirectX plus "propre" et d’autre part les shaders, ces petits programmes qui permettent le calcul d’images 3D complexes. Pour rappel, le rendu 3D consiste grossièrement à calculer la position des vertices (sommets des polygones qui forment les objets), à assembler ces vertices en triangles, à découper les triangles en pixels et enfin à appliquer textures et autres effets sur ces pixels. DirectX 9 permet d’exécuter des opérations (shaders) sur les vertices et sur les pixels, alors que DirectX 10 permet également de le faire sur des triangles. A quoi ça sert ? Principalement à optimiser les performances mais également, par exemple, à diviser un triangle en une série de plus petits triangles de manière à augmenter les détails géométriques des objets. Ces petits programmes exécutés par le GPU deviennent de plus en plus complexes au fur et à mesure que la qualité des images évolue. DirectX 10 passe ainsi les shaders de la version 3.0 à la version 4.0 qui permet d’exécuter des programmes beaucoup plus longs tout en offrant plus de flexibilité. Pour supporter ces shaders 4.0, Nvidia a développé une architecture totalement nouvelle par rapport aux GeForce 6 et 7. Ces précédents GPUs disposent d’unités de traitement des shaders destinées soit aux vertices soit aux pixels. La GeForce 8 rompt avec ce schéma et dispose plus que d’un seul type d’unités, dîtes unifiées, mais qui sont capables de traiter tout type de données. L’intérêt est d’éviter qu’un certain type d’unités se tournent les pouces. Par exemple, sur GeForce 7, si les calculs géométriques sont très nombreux, les 8 unités qui leur sont dédiées vont être saturées alors que les 24 unités dédiées aux pixels vont attendre sans rien faire alors qu’avec les GeForce 8, toutes les unités peuvent être attribuées à ces calculs. Le rendement du GPU peut ainsi progresser. Combien de pipelines ? ![]() Très grossièrement, ces 128 pipelines, ou processeurs de shaders ou encore stream processors, correspondent en terme de capacité de calcul à 32 pipelines actuels soit l’équivalent des 8 vertex shaders et des 24 pixel shaders des GeForce 7800 et 7900. Dans ce cas il n’y a rien de plus à espérer du GeForce 8800 qu’une augmentation de l’efficacité en provenance de l’unification ? Non, bien entendu puisque Nvidia est parvenu à faire passer la fréquence de cette partie du GPU à 1350 MHz ! Soit plus du double de celle des GeForce 7900 GTX. Nous allons bien entendu revenir plus en détail sur le sujet dans les pages suivantes. Page 2 - Historique HistoriqueLe rendu 3D moderne, repose depuis le départ sur le texturing. Il y a 10 ans, les pixels affichés à l’écran se voyaient simplement appliqué une texture de décoration. Au fil des années ce rendu 3D est devenu de plus en plus évolué, les shaders permettent d’appliquer des fonctions mathématiques complexes sur les pixels et les textures ne sont plus de simples décorations mais des tables de données dont les usages sont très variés. Très souvent, un shader moderne va contenir plusieurs dizaines d’instructions mathématiques par accès aux textures. Dès lors on peut se dire que la gestion efficace de ces accès aux textures n’est plus primordiale et qu’il vaut mieux se concentrer sur la puissance de calcul brute. ![]() Ce n’est malheureusement pas aussi simple pour plusieurs raisons. La première est qu’un accès à une texture est souvent associé à un filtrage de celle-ci. Or, lorsque celui-ci est de qualité, même s’il ne requiert qu’une seule instruction, il peut prendre de nombreux cycles à s’exécuter. Cependant, nous laisserons de côté ce point pour le moment puisqu’au niveau du cœur de l’architecture, le second est beaucoup plus important. Ce second point concerne la latence de l’accès aux textures. L’accès à la mémoire de la carte graphique peut prendre plus de 100 cycles et s’il fallait attendre ces 100 cycles pour passer à l’instruction suivante, nous en serions toujours à l’âge de pierre de la 3D. Le GPU est donc capable de précharger les données dans un petit cache pour que, la majorité du temps, la latence de l’accès à la mémoire ne soit pas un problème. Lorsque les textures étaient de simples décorations, cette tâche était très facile puisque le GPU savait à l’avance quelle zone de mémoire devait être préchargée. Mais avec l’évolution des techniques de rendu, les textures peuvent contenir des données très variées et leur accès n’est plus aussi clairement déterminé. Le GPU doit donc être capable de traiter des accès aux textures indéterminés sans faire payer le coût de la latence de la mémoire. Plusieurs solutions à ce problème existent. Auparavant, la solution de Nvidia a été d’utiliser un très long pipeline dans lequel plus de 100-150 étages étaient uniquement destinés à masquer cette latence. Par exemple les GeForce 7 disposent de 2 unités de calcul par pipeline de traitement des pixel shaders. La première des unités commande l’accès aux textures, s’ensuit alors un très long "tunnel" dans lesquels les pixels dorment avant d’arriver à la seconde unité. Plus ce tunnel est long, plus il est probable que la donnée recherchée dans les textures soit arrivée à temps et donc qu’il ne soit pas nécessaire de bloquer le pipeline pour l’attendre. Le débit optimal peut donc être conservé. En contrepartie il faut pouvoir remplir ce pipeline avec autant de pixels qu’il y a d’étages, ce qui a obligé Nvidia à traiter les pixels par grosse quantité. Ce n’était pas un problème jusqu’à l’arrivée des branchements dans les shaders. Dans un GPU, le flux d’instructions est géré par paquet d’éléments (de pixels dans ce cas) et il n’est pas possible qu’un élément reçoive une instruction différente qu’un autre. Dans le cas où le résultat d’un branchement diverge entre les pixels d’un même groupe le GPU doit exécuter les 2 branches pour tous les pixels avec un masque de manière à ne pas prendre en compte les instructions de la mauvaise branche. Mais elles sont traitées malgré tout ce qui est très mauvais pour les performances. Les GeForce 7900 et précédente, avec leur très long pipeline qui impose de travailler sur de gros groupes de pixels (+/- 1000 !), se retrouvent donc en difficulté. Un autre problème se présenté : la largeur du pipeline est fixe, tout comme sa longueur. Si le pipeline n’est pas assez large pour un pixel, soit si par étage le pipeline de propose pas assez de registres temporaires, un pixel doit occuper plusieurs étages, réduisant ainsi le débit. C’est de là que provient la limitation des registres des GeForce FX; 6 et 7 bien que sur ces dernières Nvidia ait élargi le pipeline de manière à ce que la majorité des pixels aient assez de place dans un étage. ![]() La solution d’ATI à tous ces problèmes a été, avec les Radeon X1000, de découpler les pipelines de traitement des pixel shaders des unités de texturing. Le long pipeline n’est dès lors plus nécessaire puisque d’autres possibilités pour masquer la latence du texturing apparaissent. Il devient possible de travailler sur de très petits groupes de pixels et d’utiliser un nombre important de ces petits groupes, ou threads, pour obtenir le même résultat, sans les inconvénients. Dès qu’un petit groupe de pixels doit accéder à une texture, il sort de l’unité de traitement des pixel shaders et passe dans la file d’attente de l’unité de texturing. Parallèlement, un autre groupe est traité par l’unité de calcul des shaders. Dès qu’un groupe a reçu le résultat de l’accès à la texture demandée, il change de file d’attente et repasse dans celle des unités de calcul jusqu’à ce qu’il ait de nouveau besoin d’une texture, et ainsi de suite. Pour masquer la latence efficacement il faut pouvoir placer en file d’attente, ou au repos, un nombre important de threads et donc disposer d’une mémoire cache qui peut les accueillir. Plus elle est grande, plus une grande latence peut être tolérée. Par contre cette fois la file d’attente n’a plus une longueur fixe. Un nouveau thread est injecté dans le shader core uniquement si cela est nécessaire et bien entendu uniquement s’il reste de la place dans la mémoire cache pour l’accueillir. Si la latence est faible, les threads passent rapidement d’une unité à l’autre et il n’est pas nécessaire d’en injecter un grand nombre dans le cœur de traitement des shaders. La mémoire cache qui les stocke est, elle, fixe bien entendu. Si elle est prévue pour contenir par exemple 128 threads mais que 32 suffisent à masquer la latence, 75% de la mémoire cache ne sert donc rien ? Nous en revenons au problème du nombre de registres temporaires. Le nombre qui en est utilisé est variable, ce qui veut dire que la taille des threads, en occupation mémoire est elle aussi variable. Vous l’aurez donc compris, ce type d’architecture permet de disposer d’un nombre élevé de registres temporaires sans réduire le débit des unités lorsqu’il n’y a pas une latence importante à masquer. Cette flexibilité permet au GPU d’utiliser le meilleur compromis entre le nombre de registres accessibles à pleine vitesse et la latence masquée alors que le long pipeline propose un modèle fixe en dehors duquel les performances chutent directement. Page 3 - Architecture GeForce 8 L’architecture GeForce 8Comme expliqué dans la brève description de ce nouveau GPU, il repose sur une architecture unifiée qui consiste à utiliser les mêmes unités pour traiter tout type d’éléments, qu’ils soient pixels ou vertices. L’intérêt étant d’éviter qu’un type d’unités ne se tourne les pouces. Vous aurez remarqué que dans l’historique utilisé pour planter le décor, nous parlons uniquement de "pixel shaders" et de leurs unités de traitement. Ce n’est pas anodin. Ces unités ont en réalité déjà presque tout ce qu’il faut pour traiter les vertex shaders. L’unification consiste donc plus à étendre les capacités des moteurs de pixel shaders actuels qu’à fusionner pixel et vertex shaders. Il est d’ailleurs évident que les shader cores des Radeon X1000 d’ATI, au niveau fonctionnel (mais pas de gestion), sont similaires à ceux d’une architecture unifiée. Passer à une architecture unifiée sera donc une évolution naturelle pour ATI avec le R600. ![]() Du côté de Nvidia l’architecture fixe des GeForce 7 ne s’y prête pas très bien. Avec les GeForce 8, Nvidia repart donc de 0. Vous avez bien entendu l’habitude d’entendre ça à chaque nouvelle génération de GPU puisque la "brand new architecture" fait partie des arguments de base pour vendre un GPU. Un argument bateau en général, sauf que dans le cas présent c’est réellement le cas. Nvidia est reparti de rien et a dû revoir totalement son architecture qui avait atteint une limite. ![]() Nvidia s’est tourné vers une architecture similaire à celle des Radeon X1000 en découplant unités de calcul et unités de texturing, qui sont dans la version la plus haut de gamme respectivement aux nombre de 128 et 32. Relativement à l’évolution des GPU de ces dernières années le GeForce 8800 est ainsi très proche des GPU ATI actuels. Mais si l’on s’attache aux détails des différences importantes apparaissent. Un processeur scalaireLes unités de calcul des GPUs précédents, tant du côté d’ATI que de Nvidia travaillent sur un certain nombre de pixels en parallèle. Il s’agit de 4 pixels pour les GeForce 7 et de 12 pixels pour les Radeon X1000. Chacun de ces pixels est un vecteur de 4 composantes (RGBA ou XYZW puisqu’il ne s’agit pas forcément de couleurs) et ces 4 composantes sont également traitées en parallèle. Nous supposerons ici qu’un pixel est représenté par un tel registre pour faciliter le raisonnement. A chaque cycle effectif, une instruction va donc être appliquée sur 4 composantes de 4 pixels soit sur 16 éléments dans le cas d’une GeForce 7. Très souvent une instruction n’est pas appliquée sur toutes les composantes. Pour ne pas trop gaspiller de ressources, les shader cores de ces GPUs sont capables de traiter 2 instructions en même temps. Par exemple : MUL R1.xyCes 2 instructions, multiplication et addition, peuvent être traitées en même temps bien qu’étant différentes, possibilité qui se nomme co-issue. Il s’agit donc d’unités dites MIMD (multiple instructions multiple data) larges de 512 bits (16 éléments x 32 bits). Les unités des GeForce 8800 sont par contre de type SIMD (single instruction multiple data) 512 bits. Cela veut-il dire qu’elles sont moins efficaces ? Non puisqu’au lieu de traiter 4 composantes de 4 pixels par cycle, elles traitent 1 élément de 16 pixels. Ce qui veut dire que chaque composante des pixels peut se voir attribuer une instruction différente, sans gaspillage de ressources. Les 2 instructions données en exemple ci-dessus expriment d’ailleurs tout l’intérêt de cette organisation des unités. Avec une unité de type GeForce 7, elles seront appliquées sur 4 pixels à chaque cycle soit sur 16 pixels en 4 cycles. Sur GeForce 8, elles seront appliquées sur 16 pixels en 3 cycles, la première étant décomposée en MUL R1.x et MUL R1.y. 25% de gain à capacité de traitement équivalente, uniquement grâce à une réorganisation ! Spécifications des shader coresMaintenant que nous avons décrit la philosophie derrière les différentes architectures nous pouvons comparer leurs spécifications : ![]() Comme vous pouvez le constater, le GeForce 8800 GTX dispose d’une puissance de calcul énorme, en plus de bénéficier d’une efficacité de premier plan grâce aux traitements d’instructions scalaires. Il faut cependant garder en tête que ces unités vont également devoir traiter les vertex shaders alors que dans le cas des 2 autres GPUs, des unités dédiées s’en chargent. Vous remarquez également que les nouvelles venues disposent d’une puissance de filtrage plus que conséquente, nous en parlerons plus en détail par la suite. Nous avons effectué énormément de tests de manière à avoir une idée précise de la manière dans les shader cores du GeForce 8800 se comportent et force est de constater qu’ils sont redoutablement efficaces bien que les drivers soient encore très jeunes. Cependant nous ne sommes pas parvenus à observer le second MUL en action. Nous supposons que son utilisation est soumise à restrictions ou que le compiler intégré aux drivers ne l’exploite pas encore ce qui pourrait alors laisser envisager un gain dans le futur. Notez pour le détail que chaque processeur scalaire, en plus des unités MAD et MUL, disposent en pratique d’une unité qui fait office d’interpolateur et de traitement des fonctions spéciales (EXP, LOG, RCP, RSQ, SIN, COS) qui s’exécutent toutes en 4 cycles. Nous supposons qu’au niveau de l’implémentation Nvidia a opté, par shader core, pour 4 unités capables de faire une interpolation sur un quad (carré de 4 pixels, ce qui simplifie les calculs) ou 1 instruction spéciale en 1 cycle. Page 4 - ROPs, DirectX 10, CUDA, le G80 ROPsLe GeForce 8800 dispose de 24 ROPs, contre 16 pour les GPUs haut de gamme précédents. Pour rappel les ROPs sont les unités chargées des dernier traitement à effectuer sur les pixels (mélange des couleurs, anti aliasing, compression des données et écriture de celles-ci en mémoire). Le bus 384 bits est bien entendu lié à cette augmentation. Non content d’en avoir augmenté le nombre, Nvidia en a amélioré l’efficacité, notamment lors des passes qui n’écrivent que la valeur Z en mémoire. Déjà très efficaces à ce petit jeu par rapport à la concurrence, les GeForce 7 restent pourtant loin derrière le GeForce 8800 : ![]() DirectX 10Pour en savoir plus sur DirectX 10, vous pouvez vous tourner vers cet article. ![]() Les GeForce 8800 supportent bien entendu totalement DirectX 10 et vont même au-delà puisque le filtrage des textures FP32 (128 bits) et l’antialiasing dans ce même format sont supportés. CUDANous vous avons parlé à plusieurs reprises de l’initiative d’ATI qui consiste à rendre accessible le GPU en tant qu’unité de calcul générale (bien qu’uniquement efficace dans certains domaines). Pour ce faire, ATI propose une machine virtuelle qui permet de voir le shader core des Radeon X1000 comme une grosse unité de calcul flottant. ATI indique les spécifications exactes du GPU de manière à pouvoir optimiser le code pour le hardware. Nous attendions bien entendu la réplique de Nvidia et elle prend une forme légèrement différente. CUDA, c’est son nom, ne propose pas d’accès au GPU via un langage machine mais uniquement via un code écrit en C. Le driver CUDA se charge d’interpréter le tout. A priori très simple, par rapport à une fonction C classique, la seule différence consiste à passer en argument le nombre d’éléments qui vont recevoir cette fonction. A l’heure de ce test, CUDA n’est pas encore disponible et nous sommes impatients de pouvoir tester tout cela ! ![]() Ce qui nous donne le G80DirectX 10, CUDA, une architecture unifiée, un nouveau shader core, une puissance de filtrage massive… Tout ceci nous donne le G80, un monstre de 681 millions de transistors ! Un nombre qui tranche avec les 278 millions de G71. Nvidia a malgré tout opté pour une fabrication en 90nm, ce qui fait du G80 le plus grand GPU grand public jamais commercialisé. Ce GPU coûte très cher à fabriquer à Nvidia (118 par wafer avec un rendement probablement très bas), mas ça ce n’est pas notre problème. Par contre il est évident que les volumes de production vont être réduits et que la consommation va augmenter sensiblement. On n’a rien sans rien. Page 5 - Performances shaders et textures Performances Pixel ShaderNous avons testé 2 shaders d’éclairage relativement simples qui représentent un bon compromis entre des débits de calculs théoriques et pratiques : ![]() Le GeForce 8800 écrase la concurrence. Notez par ailleurs que contrairement au GeForce 7 il ne voit plus ses performances baisser en FP32 bien qu’il puisse toujours selon Nvidia bénéficier d’un FP16 plus rapide dans certains cas. Cependant comme nous l’avons expliqué précédemment, son architecture fait que s’il n’y a pas une latence énorme à masquer il dispose d’une quantité importante de registres. Or le manque de registres est la cause principale de la différence de performances entre FP16 et FP32 sur les précédents GPUs Nvidia. Performances Vertex ShaderNous avons testé les performances en T&L, VS 1.1, VS 2.0 et VS 3.0 dans RightMark : ![]() L’architecture unifiée permet au GeForce 8800 d’attribuer toutes les ressources au traitement des vertex shader, ce qui entraîne un gain qui peut être conséquent. Il pourrait d’ailleurs probablement être plus important mais une limitation que nous n’avons pas encore déterminée semble limiter le GeForce 8800. ce qui n’empêche pas celui-ci d’écraser la concurrence plutôt aisément. Performances accès aux texturesNous avons mesuré les performances lors de l’accès à des textures de différents formats et de différentes tailles, avec et sans filtrage. La texture étant affichée en plein écran, en 1920x1440, l’accès aux textures de grandes tailles se fait en dehors des limites de pleine efficacité du texture cache. ![]() Il y a le GeForce 8800 …. et puis les autres. Cliquez ici pour voir tous les résultats. Page 6 - Performances branchements Performances branchementsL’une des principales nouveautés qui a été introduite avec le GeForce 6800 est le branchement dynamique dans les pixel shaders. Cela permet de faciliter l’écriture de certains shaders et d’augmenter l’efficacité d’autres shaders en évitant de calculer une partie de ceux-ci sur les pixels qui n’en ont pas besoin. Par exemple pourquoi appliquer le filtrage très coûteux de l’adoucissement de bordure d’une ombre si le pixel est au milieu de l’ombre ? Un branchement dynamique permet de détecter si le pixel en a besoin ou pas. Splinter Cell Chaos Theory utilise cette technique alors que Les Chroniques de Riddick calcule tout pour chaque pixel. Les performances baissent de 10 à 15% dans le premier cas et de plus de 50% dans le second. Bien entendu les algorithmes ne sont pas identiques mais cela donne une image de ce que peuvent permettre les branchements dynamiques. ![]() Mais tout n’est pas si rose puisque ceux-ci ne sont efficaces que dans des cas bien précis. Les branchements ont une réputation d'être difficile à gérer, c'est particulièrement le cas dans les CPU qui doivent prédire le résultat du branchement à l'avance pour masquer la latence du calcul de celui-ci. Dans un GPU, les pixels sont traités par groupes de dizaines, de centaines voire de milliers de pixels, ce qui permet de masquer automatiquement cette latence. Le problème des CPUs n'existe donc pas réellement. Par contre un autre problème se pose. Lors d’un branchement, tous les pixels doivent prendre la même branche sans quoi les 2 branches doivent être calculées pour tous les pixels, avec des masques pour n’écrire que le résultat de la branche requise pour chaque pixel. Nous avons développé un petit test qui nous permet de modifier la granularité du branchement, c'est-à-dire le nombre moyen de pixels consécutifs qui vont prendre une même branche. Nous spécifions la branche à prendre par colonne de pixels, une colonne sur 2 doit afficher un shader complexe et l'autre peut passer cette partie du rendu. Des triangles de taille moyenne en mouvement sont affichés à l'écran et traversent ces zones qui utilisent différentes branches, ce qui implique que tant les triangles et leur position que la taille de la colonne influent sur l'efficacité du branchement ce qui est proche d'une situation réelle. ![]() Avec des colonnes étroites, les GPU ne peuvent pas profiter du branchement pour éviter la partie complexe sur la moitié des pixels, mais par contre doivent traiter les instructions de branchement, ce qui fait baisser les performances au lieu de les augmenter. Tout du moins sur les GeForce 7. ATI dispose d'une unité dédiée aux branchements qui travaille en parallèle des pipelines de pixel shading et de texturing ce qui masque le coût des instructions de branchement. Il en est probablement de même pour le GeForce 8800 qui bénéficie cependant d'un gain de performances même quand il semble impossible que ce soit le cas. A l'heure actuelle, Nvidia n'a pas pu nous expliquer ce comportement qui semble indique que le GeForce 8800 est capable d'économiser des ressources autres que la puissance de calcul. Gros avantage des Radeon depuis plus d'un an, les branchements dynamiques sont maintenant traités plus efficacement du côté de Nvidia. La taille des threads de pixels sur le GeForce 8800 est de 32 pixels contre 48 pour le Radeon X1950 ce qui permet à la nouvelle puce de Nvidia de prendre les devants. Nous précisons threads de pixels puisque dans le cas de threads de vertices, la granularité est de 16 vertices. Notez que les Radeon X19x0 produisent des résultats moins prédictibles que les Radeon X1800 sur ce test (le résultat étrange avec une colonne de 16 pixels en témoigne). Nous supposons que cela est dû à une manière complexe de l'architecture de distribuer les pixels aux shader cores qui entraînerait une baisse d'efficacité avec les groupes de 48 pixels. Nous avons ensuite exécuté un second test lié aux branchements dynamiques. Cette fois nous avons rendu une fractale d'une manière classique et ensuite à base de branchements. Cet algorithme utilise un nombre élevé d'itérations identiques qui dans le shader classique se retrouvent les une à la suite des autres. Dans le shader à base de branchements, nous avons utilisé une boucle autour de 2 itérations avec un test qui vérifie si le calcul d'itérations supplémentaires est utile ou pas. Si il n'est pas utile nous sortons de la boucle en laissant tomber les itérations qui ne sont pas nécessaires. ![]() Force est de constater que le GeForce 7 étale ici toute son inefficacité face à ce genre de code. Le Radeon X1950 XTX s'en sort d'une manière correcte, mais le GeForce 8800 met tout le monde d'accord. C'est lui le maître à bord maintenant ! Page 7 - Filtrage des textures Qualité du filtrageDepuis le lancement des GeForce 7, nous avons régulièrement critiqué la qualité du filtrage des textures des cartes de Nvidia. Des optimisations trop agressives entraînaient un fourmillement dans les textures. Problème qu’il est difficile de montrer sur un screenshot puisqu’il se voit principalement en mouvement. Bonne nouvelle, ce problème fait maintenant partie du passé. Les GeForce 8 filtrent les textures correctement. Ce n’est pas le seul élément de reproche que l’on faisait aux GeForce 7 puisque ces cartes appliquent quoi qu’il se passe un filtrage anisotrope dépendant de l’angle de la surface qui le reçoit. Une optimisation qui permet de simplifier les calculs (et les unités qui s’en chargent) liés au filtrage et de gagner des performances en appliquant un niveau de qualité moindre à certaines surfaces. ATI qui est à l’origine de cette optimisations a permis avec l’arrivée des Radeon X1800 de la désactiver ou tout du moins de la remplacer par une version moins agressive. Avec les GeForce 8800 Nvidia en fait de même mais va plus loin en faisant disparaître cette optimisation par défaut et en appliquant un calcul du LOD bien plus précis que celui du mode HQ d’ATI. Nvidia s’offre ainsi la nouvelle référence en matière de filtrage ! ![]() ![]() ![]() ![]() Radeon X1950 XTX, Radeon X1950 XTX HQ GeForce 7900 GTX, GeForce 8800 GTX Notez que ces screenshots ne représentent pas la qualité du filtrage mais uniquement le niveau de mipmap affiché. Plus les bandes colorées apparaissent tard, plus les textures sont nettes, mais rien ne dit qu’elles ne fourmillent pas à cause d’un mauvais filtrage. Cette partie de la problématique du filtrage, notamment visible dans les simulateurs de vols, ne peut pas se voir avec ce genre de test et sur screenshot. En pratique si les GeForce 7 affichait ce genre de problème, qu’il était possible d’atténuer en grande partie en activation le mode haute qualité, il n’est plus à l’ordre du jour sur GeForce 8 comme c’est déjà le cas chez ATI. En fait, la qualité du filtrage est même légèrement supérieure à celle observée chez ATI. Tout n’est cependant pas rose pour autant puisque nous avons remarqué l’ancien filtrage de plus basse qualité dans Unreal Tournament 2003 ainsi qu’un filtrage de moins bonne qualité sur les surfaces verticales dans Far Cry. Il paraît évident que Nvidia ne s’amuse plus à optimiser agressivement les drivers des GeForce 8800 pour UT2003. Nous pouvons donc supposer qu’il s’agit d’un vestige des optimisations spécifiques instaurées à l’époque des GeForce FX perdu au milieu du driver. ![]() Les angles verticaux semblent ne pas recevoir le même niveau de filtrage que les autres dans Far Cry. Performances du filtrageNous avons mesuré les performances sous Serious Sam 2 dans un environnement extérieur. ![]() Les Radeon sont étrangement moins performantes en filtrage anisotrope 2x que 4x ce qui pourrait venir du fait que plus l’aniso augmente moins la carte doit réaliser de filtrage trilinéaire. Or nous avons pu remarquer que la Radeon X1950 est moins performante lorsqu’il s’agit de produire un filtrage trilinéaire qu'anisotrope ce qui pourrait donc expliquer ce résultat étrange. Comme vous pouvez le voir le GeForce 8 est bien moins impacté par l’activation du filtrage anisotrope, le trilinéaire n’étant que 16.9% plus rapide que l’aniso 16x, la différence grimpant à 57% sur GeForce 7 et 41% sur Radeon X1950 XTX. Les 64 unités de filtrage portent donc leurs fruits. Page 8 - Antialiasing AntialiasingAlors que les Radeon sont capables depuis longtemps de gérer un antialiasing de type multisample en 6x, les GeForce étaient limitées au 4x. Cette limite tombe avec les GeForce 8 qui supportent un MSAA 8x, et peuvent de plus coupler MSAA et HDR FP16 comme les Radeon X1x00 et contrairement aux GeForce 7. Nvidia ne s’est pas arrêté là et a implémenté un nouveau mode d’antialiasing nommé coverage sample (CSAA). Ce mode consiste à améliorer la précision avec laquelle les samples de couleurs différentes sont mélangées pour former l’image finale. Par exemple si 2 triangles passent par un même pixel en MSAA 4x, ils peuvent recouvrir soit 25 et 75 % du pixel, 50 % chacun ou 75 et 25 %. Les couleurs sont mélangées dans ces proportions. Le coverage sample se base sur un buffer MSAA classique ainsi que sur un second buffer d’une résolution supérieure (8x ou 16x) mais qui ne retient pas de couleur, uniquement une valeur booléenne qui indique si le triangle couvre cette zone ou pas. Cette technique a des limites puisqu’il n’est pas possible via le coverage sample buffer de connaître précisément les interactions entre de nombreux triangles ou entre des triangles qui se touchent ou se coupent. Etant donné que le Z-Buffer reste à la résolution standard, il n’est pas possible de savoir quel triangle est au-dessus de l’autre etc. Nvidia a donc dû restreindre l’utilisation de coverage sample buffer aux pixels qui représentent 2 triangles espacés. Si ce n’est pas le cas l’information du CS buffer est ignorée. Quand elle est utilisée, elle offre un résultat en théorie similaire à celui de sa résolution puisque le mélange des samples se fait dans cette résolution. En reprenant l’exemple précédant, un triangle qui couvre 30% du pixel n’aura lors du mélange en MSAA 4x que 25% de poids puisque c’est l’approximation la plus proche possible dans ce mode. En MSAA 4x + CSAA 16x, il pèsera alors pour 31% ce qui est une meilleure approximation. Le CSAA ne profitera donc qu’à certaines arêtes mais en contrepartie il est beaucoup moins gourmand qu’un mode de MSAA supérieur vu qu’il consomme moins de bande passante et ne requiert jamais de calcul de couleur supplémentaire. En occupation mémoire, du MSAA4x occupe 256 bits par pixel. Si l’on y ajoute du CSAA 16x (soit 16 valeurs booléennes), on ne passe "que" à 272 bits. Nous avons voulu voir le coût en pratique de ces nouvelles options : ![]() L’impact sur les performances est de l’ordre de 15 à 20% ce qui reste raisonnable. Par contre la différence entre le CSAA 8x et 16x est minime, ce qui réduit l’intérêt du mode 8x. ![]() Ce second test est identique si ce n’est que nous avons cette activé le Transparency AntiAliasing (Adaptive AntiAliasing chez ATI). Les performances chutent, surtout dans les modes de MSAA 6x et 8x qui entraînement le calcul de respectivement 6 et 8 samples de couleur pour les herbes et autres grillages. Qualité de l’antialiasing (sans TAA / AAA) ![]() ![]() ![]() GeForce 7 : Sans AA, 4x AA, 8xS AA ![]() ![]() ![]() Radeon X1000 : Sans AA, 4x AA, 6x AA ![]() ![]() ![]() ![]() ![]() ![]() GeForce 8 : Sans AA, 4x AA, 4x AA + 8x CSAA, 4x AA + 16x CSAA, 8x AA (8xQ), 8x AA + 16x CSAA Qualité de l’antialiasing (avec TAA / AAA) ![]() ![]() ![]() GeForce 7 : Sans AA, 4x AA, 8xS AA ![]() ![]() ![]() Radeon X1000 : Sans AA, 4x AA, 6x AA ![]() ![]() ![]() ![]() ![]() GeForce 8 : Sans AA, 4x AA, 4x AA + 8x CSAA, 4x AA + 16x CSAA, 8x AA (8xQ), 8x AA + 16x CSAA Page 9 - Les cartes, consommation Les cartes ![]() La première carte qui embarque le G80, la GeForce 8800 GTX nécessite une alimentation de 450 Watts et Nvidia parle d’alimentations de 750 à 1000 Watts pour les systèmes équipés de 2 de ces cartes en SLI ! Cette GeForce 8800 GTX emploie un GPU cadencé à 575 MHz (mais avec les processeurs de shaders à 1350 MHz) et de la mémoire 384 bits à 900 MHz, ce qui lui procure une bande passante confortable. Il faudra par contre débourser un peu plus de 650€ pour acquérir ce monstre de 27 cm de long et qui nécessite l’utilisation de 2 connecteurs d’alimentation. Quand au silence, il est de mise même si la carte est un rien moins silencieuse que la GeForce 7900 GTX, référence en la matière. On reste loin de la X1950 XTX cependant. ![]() La seconde carte, la GeForce 8800 GTS utilise un GPU bridé puisque les processeurs de shaders passent de 128 à 96 et les unités de texturing de 32 à 24. Parallèlement, la fréquence du GPU est abaissée à 500 MHz (et 1200 MHz pour les processeurs de shaders) et la mémoire à 800 MHz mais cette fois en 320 bits. La puissance de calcul baisse donc de 33% et la bande passante mémoire de 25% mais le prix devrait cette fois se situer entre 450 et 500 €. Le système de refroidissement est similaire à celui de sa grande sœur, il est simplement un peu plus court. La carte est donc elle aussi silencieuse. ![]() Cette GeForce 8800 GTS nous provient de Galaxy que nous remercions au passage pour nous l’avoir fait parvenir très rapidement. Etant donné que Nvidia fabrique toutes les cartes, elles sont toutes identiques et les partenaires n’ont que très peu de moyens de se différencier, tout du moins au départ. Galaxy nous annonce ainsi l’arrivée prochaine d’une GeForce 8800 GTX équipée d’un système de watercooling Zalman. ![]() Enfin, Asus nous a fait parvenir une seconde 8800 GTX et GTS, ce qui nous a permis de tester le tout en SLI. ![]() Vous noterez que chaque GeForce 8800 est lié à un chip compagnon, le NVIO (à gauche). Celui-ci prend en charge les entrées et sorties vidéos. Nous ne savons pas réellement pourquoi Nvidia a opté pour cette solution qui à priori est plus coûteuse que l'intégration dans le GPU. Peut-être pour pouvoir faire évoluer celle-ci rapidement sans devoir fabriquer un nouveau GPU ? Pour éviter de devoir acheter des puces Silicon Image ? ![]() Toujours au sujet du PCB un petit détail intéressant : les GeForce 8800 GTS, bien qu'équipées de 640 Mo de mémoire 320 bits peuvent parfois en réalité embarquer 768 Mo de mémoire 384 bits bien qu'une partie de la mémoire ne serve à rien. La raison est qu'il peut être plus simple de ne fabriquer qu'un seul PCB avec tous les emplacements mémoire occupés que de fabriquer une version différente pour chaque ROPs qui a pu être désactivé puisque ce n'est bien entendu pas toujours le même qui pose problème. ConsommationNous avons bien entendu évalué la consommation des diverses cartes. Ces données sont obtenues à partir des mesures effectuées à la sortie de la prise de courant : il s’agit donc de la consommation totale de l’alimentation de la machine, ici une Enermax 535W. Nous reportons les chiffres obtenus sous le bureau Windows, en charge sous un test de fillrate qui sature les pixel shader avec Prime95 et en charge sous 3DMark05 (GameTest 3) également avec Prime95, ce dernier permettant d’avoir une utilisation processeur constante quelles que soient les performances des solutions graphiques. ![]() Force est de constater que les inquiétudes quant à la consommation de la GeForce 8800 GTX étaient quelques peu exagérées puisque en charge la carte ne consomme pas réellement beaucoup plus que la Radeon X1950 XTX d’ATI. Par contre en 2D Les GeForce 8 sont beaucoup plus gourmandes que les autres cartes. Notez enfin que la nouvelle architecture de Nvidia lui permet plus facilement de ne pas alimenter des circuits inutilisés ce qui est mis en évidence par notre shader qui sature uniquement les unités mathématiques de la puce. Dans ces conditions, sur GeForce 7 la consommation augmente par rapport à 3DMark alors qu’elle diminue dans le cas des GeForce 8. Page 10 - GeForce 8800 GTS 320 Mo GeForce 8800 GTS 320 Mo3 mois après le lancement des 2 premières GeForce 8800, Nvidia lance une 3ème déclinaison, la GeForce 8800 GTS 320 Mo. La seule différence par rapport à la GeForce 8800 GTS classique est la mémoire vidéo qui passe de 640 Mo et 320 Mo, en passant de 10 puces de 64 Mo à 10 puces de 32 Mo, les fréquences et le design de la carte ne bougent pas. Nvidia annonce un prix en baisse puisque l'on passe de 400-450€ à +/- 300-330€ (de 299 à 329$), pour ce qui concerne les prix "officiels". Si nous mettons officiels entre guillemets c'est parce que depuis quelques temps les fabricants de GPUs annoncent des prix très agressifs, voire une fourchette de prix, pour optimiser l'image, mettant ainsi la pression sur leurs partenaires qui ne savent pas toujours respecter ces prix. Ainsi, les 299$ annoncés pour le prix officiel sont impossibles à tenir pour certains partenaires puisque Nvidia leur facture chaque GeForce 8800 GTS 320 Mo pas moins de 250$. Il est évident qu'il est difficile de ne pas dépasser le prix "officiel" de 299$ une fois le packaging, le transport et les marges des différents intervenants ajoutés. Un prix de 300 à 330€ ne devrait par contre pas passer de problème en France. Nous avons utilisé une GeForce 8800 GTS 320 Mo signée Leadtek pour ce test. Celle-ci reprend bien entendu le design de référence mais Leadtek a remplacé toute la partie supérieure du système de refroidissement fourni par Nvidia avec la carte, ce qui donne une petite touche originale et plutôt réussie à cette carte. ![]() Leadtek livre sa carte avec une sortie TV HD, un adaptateur DVI/VGA, Serious Sam 2, Spellforce 2 et PowerDVD. Le tout pour un prix conseillé de 349€. Page 11 - Drivers, CPU limited, le test Drivers et SLIBien qu’il soit évident que les drivers de la release 95 destinés aux GeForce 8800 soient encore jeunes, force est de constater qu’ils se montrent néanmoins déjà très efficaces puisque mis à part quelques petites inefficacités (ce qui ne veut pas dire que les 8800 soient derrière la concurrence!) par-ci par-là, tous les tests se sont déroulés sans encombre. Ce qui est de très bon augure. On sent que Nvidia n’a pas dû "forcer" sur les drivers pour obtenir de bonnes performances. Concernant le SLI, si les performances sont au rendez-vous, nous avons rencontrés quelques petits problèmes. Les drivers destinés aux tests SLI étant arrivés très tard, nous supposons que Nvidia les as sortis dans l’urgence et qu’il y a encore un peu de travail à faire au niveau des drivers pour en assurer la qualité habituelle. La gestion de l’antialiasing via le panneau de contrôle des drivers évolue avec les GeForce 8 puisqu’une option "améliorer les paramètres d’application" apparaît. Elle consiste à remplacer le mode d’antialiasing utilisé par un jeu et non pas à le forcer, ce qui évite les bugs et permet à tous les nouveaux modes d’êtres utilisables dans tous les jeux qui supportent l’antialiasing. L’astuce est tellement simple qu’on se demande pourquoi personne n’y avait pensé avant ! ![]() CPU Limited ?Comme pour chaque nouvelle carte graphique haut de gamme, on entendra souvent à propos du GeForce 8800 qu’il est « CPU limited » et qu’il faut absolument un très gros processeur pour en tirer partie. Ces propos ne sont qu’une généralisation abusive régulièrement colportée et à laquelle 3DMark n’est pas étranger, que ce soit de part sa résolution par défaut qui semble trop dure à changer pour certains ou de part le fait que la dernière version intègre dans le score global la puissance processeur. Autant être clair tout de suite, la GeForce 8800 ne consomme pas plus de ressource processeur qu’une autre GeForce moins puissante ! Par contre, avec des réglages graphiques peu élevés comparativement à la puissance de la carte, il y’aura de plus forte chance d’avoir un framerate qui ne sera plus limité par la carte graphique mais par le processeur. Est-ce pour autant un mal ? Pas vraiment, puisque cela signifie simplement qu’il vous sera alors possible d’augmenter la résolution ou les réglages graphiques impactant essentiellement la carte graphique sans baisse notable du framerate. Le seul cas ou le fait d’être « CPU limited » est gênant, c’est lorsque cette limite liée au CPU fait que votre jeu n’est pas fluide, mais il n’y a alors pas de lien direct avec la carte graphique. Ainsi, si vous êtes doté d’un processeur considéré comme moyen de gamme mais qui satisfait pleinement vos attentes dans vos jeux, vous pouvez sans complexe acquérir une carte haut de gamme afin de profiter par exemple de votre dernier écran 24". Plus que le couple CPU / Carte 3D, c’est bien le couple Carte 3D / Ecran qui nécessite le plus d’être équilibré, et avec les jeux actuels il faudra au moins associer une 8800 GTS avec un 20" et une GTX avec un 24" pour commencer à en profiter. Pour rappel, si vous voulez savoir sur votre configuration, dans vos jeux, dans vos passages préférés, avec vos réglages, qui de votre carte graphique ou de votre cpu fait que vous n’avez pas la fluidité attendue, nous vous conseillons un test simple : baissez la résolution à 800*600 voir 640*480 ! Si vous n’observez pas de gain notable de fluidité, vous êtes limité par le CPU, voir par la mémoire si votre disque se met à gratter spécifiquement lors des lags, sinon c’est la carte graphique qui vous limite. Le testComme d’habitude, nous activons le filtrage anisotrope pour tous les tests puisque nous estimons qu’il n’y a plus de raison de s’en passer, surtout sur des cartes haut de gamme. Il est activé dans le jeu lorsque c’est possible et dans les drivers si ce n’est pas le cas. Par ailleurs nous avons également décidé d’activer systématiquement le Transparency Antialiasing qui permet de filtrer les objets simulés à partir de tests alpha tels que les grillages. Dans certains jeux l’impact sur les performances est important, mais si il l’est c’est que l’impact visuel l’est tout autant et puisqu’il s’agit ici de cartes haut de gamme il n’y a pas de raison de les ménager ! eVGA nForce 680i Intel D975XBX (Bad Axe) Intel Core 2 Extreme X6800 2 x 1 Go Western Digital Raptor 74 Go Enermax 535W Windows XP SP2 Catalyst 6.10 ForceWare 96.94 Page 12 - Quake 4, F.E.A.R. Quake 4Nous avons enregistré une démo qui représente une scène d’action. Contrairement à Doom 3, il y a moins d’ombres et plus de monstres et de textures ce qui change la charge au niveau du rendu. Le filtrage anisotrope 8x est activé automatiquement par le jeu. Les tests ont été réalisés en mode Ultra qualité. ![]() - Normal - Antialiasing 4x ![]() ![]() F.E.A.R.Nous utilisons la démo intégrée de F.E.A.R. Malheureusement, celle-ci ne donne qu’un score entier ce qui peut par exemple entraîner une différence d’une unité dans les mêmes conditions à cause d’une variation normale de 2 dixièmes. Nous avons donc sélectionné pour chaque carte le meilleur de 3 résultats. Toutes les options graphiques sont poussées au maximum, à l'exception des soft shadows qui sont désactivés. Le filtrage anisotrope 16x est activé via le jeu. ![]() - Normal - Antialiasing 4x ![]() ![]() Page 13 - Half-Life 2 Lost Coast Half-Life 2 Lost CoastPour ce test nous utilisons une démo interne que nous avons enregistrée sur Lost Coast de manière à pouvoir tester le HDR façon Valve qui utilise un format de rendu assez complexe qui ne fait pas usage des possibilités supplémentaires des GeForce 6 et 7 et des Radeon X1K mais tourne sur toutes les cartes DirectX 9 et ce avec MSAA. Le filtrage anisotrope 16x est activé via le jeu. ![]() - Normal - Antialiasing 4x - HDR - HDR + Antialiasing 4x ![]() ![]() ![]() ![]() Page 14 - Far Cry Far CryNous utilisons une démo interne, qui mélange intérieurs et extérieurs, enregistrée dans la map "catacombs". Nous activons le filtre de post process "froid" ou "cold" qui améliore sensiblement l’image. A vrai dire, avec le post process et le HDR on change littéralement d’époque de rendu et on redécouvre le jeu. Ce filtre de post process entraîne une baisse des performances de +/- 20%. Le filtrage anisotrope 8x est activé via le jeu. ![]() - Normal - Antialiasing 4x - HDR - HDR + Antialiasing 4x ![]() ![]() ![]() Notez que les Radeon et GeForce utilisent un rendu à base de FP16 similaire mais il n’est pas parfaitement identique puisque l’image est moins brûlée du côté d’ATI. ![]() ![]() Le rendu HDR sur les GPU ATI (à gauche) et Nvidia (à droite). ![]() Page 15 - Serious Sam 2 Serious Sam 2Nous avons enregistré une démo ici aussi et activé le filtrage anisotrope 16x dans le jeu. ![]() - Normal - Antialiasing 4x - HDR - HDR + Antialiasing 4x ![]() ![]() ![]() ![]() On note une baisse importante de performances lors de l'activation de l'AA 4x, notre scène de test comportant beaucoup d'objects qui sont filtrés grâce au Transparency Antialiasing qui est assez gourmand dans ce type de cas. Sans cette option, ces objets seraient ne seraient pas anti aliasés mais les performances seraient en hausse. Page 16 - Tomb Raider Legend Tomb Raider LegendNous avons enregistré une partie et effectuons un déplacement régulier et donc toujours identique. Le filtrage anisotrope 16x est activé via les drivers. ![]() - Normal - Antialiasing 4x - HDR - HDR + Antialiasing 4x ![]() ![]() ![]() Contrairement à notre habitude, nous avons changé l'échelle pour les graphes HDR dans Tomb Raider Legend tant la différence de performances est énorme une fois celui-ci activé. Notez à ce sujet qu'il ne s'agit pas de HDR a proprement parlé mais plutôt d'un rendu totalement différent avec notamment du parallax mapping et un éclairage plus travaillé. Avec Tomb Raider Legend, c'est tout ou rien ! ![]() Page 17 - Splinter Cell Chaos Theory Splinter Cell Chaos TheoryNous utilisons une nouvelle fois une démo interne. Le SM 3.0 est utilisé sur toutes les cartes et les soft shadows et le parallax mapping sont activés. Le filtrage anisotrope 16x est activé via le jeu. ![]() - Normal - Antialiasing 4x - HDR ![]() ![]() ![]() Notez que le HDR est différent chez ATI et chez Nvidia. Avec les GeForce il s’agit de FP16, mais avec les Radeon il s’agit à priori plutôt de FX16, ce qui lui permet de fonctionner sur X800 mais réduit sensiblement sa qualité. ![]() ![]() Le rendu HDR sur les GPU ATI (à gauche) et Nvidia (à droite). Page 18 - Age of Empire III Age of Empire IIIPour tester ce jeu, nous avons sauvegardé une partie sur laquelle nous effectuons un déplacement bien défini en mode pause. Le filtrage anisotrope est activé via le jeu. ![]() - Normal - Antialiasing 4x - HDR - HDR + Antialiasing 4x ![]() Un bug nous a empêché de mesurer les performances des GeForce 8800 GTX en SLI en rendu classique. Nous supposons qu'il provient d'une instabilité causée par une carte défectueuse puisque une des cartes utilisée dans ce test fait partie de la sérié à problème et nous n'avons pas eu le temps de la faire corriger comme c'est le cas des cartes que vous trouverez dans le commerce. ![]() ![]() Notez que le rendu HDR produit un résultat similaire chez ATI et chez Nvidia mais est réalisé différemment. A base de FP16 chez Nvidia, il est en FX10 chez ATI. Ce mode FX10, si on ne laisse que 2 bits pour la transparence permet de tenir dans les 32 bits classiques ce qui est idéal pour les performances. ![]() ![]() Le rendu sur les GPU ATI (à gauche) et Nvidia (à droite) est identique. ![]() Bien qu'il soit à base de FP16 pour les GeForce 7, le HDR peut ici être couplé avec l'antialiasing. Comment est-ce possible ? Il ne s'agit pas de multisampling mais d'un supersampling réalisé par le moteur du jeu : l'image est calculée dans une résolution 2.25 fois supérieure soit une 1.5 fois plus grande dans chaque dimension (2400 x 1800 au lieu de 1600 x 1200 par exemple) et ensuite réduite en taille. Si cela permet de disposer de FSAA sur GeForce 7, il faut garder à l'esprit que la qualité de l'antialiasing est nettement moindre face au multisampling 4x des Radeon X1000. Qui plus est la méthode utilisée pour les GeForce 7 est très gourmande et leurs performances se réduisent. Sur GeForce 8, c'est malheureusement le même anti aliasing qui est utilisé par le jeu alors qu'elles supportent le duo FP16+FSAA. ![]() ![]() Le FSAA est de meilleure qualité sur les GPU ATI (à gauche) que du côté de Nvidia (à droite). Page 19 - Oblivion OblivionNous effectuons un déplacement précisément défini afin qu’il soit toujours identique et que le test soit reproductible. Le filtrage anisotrope 16x est activé via les drivers. ![]() - Normal - Antialiasing 4x - HDR - HDR + Antialiasing 4x ![]() Les Radeon semblent apprécier Oblivion. Notez qu'un bug affecte le rendu du côté de Nvidia et certaines textures (probablement l'effet spéculaire) pixellisent mais uniquement sur les GeForce 7. ![]() L'AA 4x affecte grandement les performances sous Oblivion, tout simplement parce que beaucoup d'objets sont filtrés grâce au Transparency Antialiasing que nous avons activés et qui est plus gourmand. Sans cette option, ces objets ne seraient pas anti aliasés. ![]() Le mode HDR est ici à base de FP16. Les GeForce 8 sont plus performantes en mode HDR qu'en mode classique. Nous pouvons supposer que Nvidia a en priorité optimisé ses drivers pour le mode HDR d'Oblivion ou que ce mode HDR déplace la charge d'une manière qui plait plus à l'architecture des GeForce 8. ![]() Oblivion ne supporte pas directement le HDR couplé à l'antialiasing, les développeurs n'ayant pas jugé opportun de l'implémenter eux-mêmes. ATI s'en est chargé via un driver spécial, le "chuck patch" et l'a maintenant intégré dans les drivers officiels. Il suffit alors d'activer le FSAA 4x via les drivers ATI et il est fonctionnel dans le jeu. Il n'y a pas de magie dans ce fameux chuck patch puisqu'en réalité il suffit simplement aux développeurs d'ATI ou de Nvidia de détecter quelle surface de rendu a besoin de l'antialiasing et de forcer les drivers à s'exécuter. Nvidia a donc implémenté la même possibilité dans ses drivers puisque les GeForce 8 supportent le HDR FP16 combiné à l'antialiasing. Page 20 - Pacific Fighters, Colin McRae 05 Pacific FightersDans ce second jeu OpenGL de ce comparatif, nous mesurons les performances lors de la lecture d’un enregistrement d’une scène de combat. Le filtrage anisotrope 16x est activé via les drivers. Notez que le mode de rendu des simulateurs de vols repose en grande partie sur le texturing. Les GeForce 7 affichant une qualité moindre au niveau du filtrage (ce qui peut passer inaperçu dans de nombreux cas mais pas dans celui-ci), ces cartes ont un avantage évident ici au niveau des performances. Nous avons donc activé le mode haute qualité sur ces cartes afin qu'elles affichent un rendu plus proche en terme de qualité finale de celui des Radeon et GeForce 8. ![]() - Normal - Antialiasing 4x ![]() ![]() Comme vous pouvez le voir les soucis de performances en SLI sur GeForce 7 ne sont plus à l'ordre du jour sur GeForce 8. Colin McRae 05Nous effectuons un déplacement précis et reproductible (puisque tout le temps tout droit jusqu’à un arrêt) dans un rallye du Japon. Le filtrage anisotrope 16x est activé via les drivers. ![]() - Normal - Antialiasing 4x ![]() Page 21 - Need for Speed Carbon Need for Speed CarbonNous effectuons un déplacement précisément défini afin qu’il soit toujours identique et que le test soit reproductible. Le filtrage anisotrope est activé dans le jeu. ![]() - Normal - Antialiasing 4x - HDR - HDR + Antialiasing 4x ![]() ![]() ![]() ![]() Page 22 - GeForce 8800 GTS : 320 vs 640 Mo GeForce 8800 GTS : 320 vs 640 MoQu'apportent en pratique les 320 Mo supplémentaires ? ![]() ![]() ![]() ![]() Dans Quake 4, les performances s'effondrent avec la GeForce 8800 GTS équipée de "seulement" 320 Mo, nous avons d'ailleurs limité l'axe des abscisses de manière à conserver un graphe lisible. Quake 4 est testé en mode Ultra Haute qualité qui pour rappel utilise des textures non compressées qui prennent donc plus de place en mémoire. Les 320 Mo de la GeForce 8800 GTS ne sont pas suffisants et les transferts incessants vers la mémoire vidéo saccagent les performances. Cependant, la perte est bien moindre sur une GeForce 7 équipée de seulement 256 Mo, ce qui laisse penser que Nvidia n'a pas encore réellement travaillé ses drivers GeForce 8 pour les cartes équipées de "peu" de mémoire dédiée. Le mode Haute qualité affiche des performances "normales" Tomb Raider Legend est lui aussi très gourmand en mémoire à tel point que des passages font chuter les FPS à moins de 5 FPS contre près de 30 sur une carte équipée d'au moins 512 Mo. Il est donc utile de rappeler que les chiffres que nous vous donnons sont des moyennes et que lorsqu'une carte est limitée par sa mémoire vidéo, cela entraîne généralement de grosses chutes de performances pendant une période plus ou moins courte, alors que la plupart du temps les performances sont similaires. F.E.A.R. et Half Life 2 Lost Coast sont sensibles eux aussi à la quantité de mémoire présente une fois que l'antialiasing est activé, celui-ci ayant besoin de zones de mémoire 4x plus importantes pour certains buffers de rendu. Enfin, Far Cry voit ses performances chuter fortement dès que l'espace mémoire est insuffisant, ce qui est le cas en 1920x1440 en HDR et FSAA 4x. Si dans la plupart des cas, les 320 Mo sont suffisants avec les jeux actuels, ils limitent la GeForce 8800 GTS dans certains cas tels que les très hautes résolutions avec anti-aliasing. Page 23 - Récapitulatif des performances Récapitulatif des performancesNous avons calculé un indice moyen des performances obtenues dans tous les modes pour chaque carte en donnant le même poids à chaque jeu et en donnant l’indice 100 à la GeForce 7900 GTX en 1600x1200. ![]() En rendu classique, les GeForce 8 surprennent déjà par leurs performances alors qu'elles étaient annoncées limitées par le processeur. En moyenne, la GeForce 8800 GTX est plus de 70% plus performant que la GeForce 7900 GTX ! Elle se place également devant tous les précédents systèmes multi-cartes. La GeForce 8800 GTS se place quand à elle légèrement devant la GeForce 7950 GX2, mais la version 320 Mo se retrouve derrière. Les GeForce 8800 GTX en SLI ne peuvent cependant pas réellement s'exprimer dans ces conditions. ![]() Une fois l'antialiasing activé, le système CrossFire passe devant la GeForce 8800 GTX mais vraiment d'une courte tête. Les 8800 GTX en SLI peuvent cette fois s'exprimer et s'affichent sans concurrence. Concernant les cartes simples, les 8800 confortent leur avance. ![]() En HDR, la puissance de calcul est beaucoup plus sollicitée, ce qui fait les affaires des GeForce 8800 qui creusent encore un peu plus l'écart. ![]() Une fois HDR et antialiasing activés simultanément, les GeForce 8 s'en donnent à coeur joie puisque la GeForce 8800 GTX, malgré des drivers très jeunes, est presque 2x plus performante que la Radeon X1950 XTX qui était habituée à écraser la concurrence dans ces tests. En effet, les GeForce 7 sont incapables de faire tourner les jeux qui utilisent un format de rendu à base de FP16 (64 bits) dans ces conditions et obtiennent donc un 0 dans plusieurs tests. Comme vous pouvez le constater à travers ces indices de performances basés sur plus de 700 tests à travers 12 jeux, les GeForce 8800 sont très performantes et ce déjà dans les jeux actuels pour lesquels elles permettent de ne faire aucun compromis sur les options graphiques. La GeForce 8800 GTX est clairement une carte sans concurrence. La GeForce 8800 GTS est cependant un gros cran en dessous, les unités désactivées ainsi que la fréquence en baisse jouant bien entendu un rôle important. La version 320 Mo de cette dernière est encore un cran derrière mais se place devant la Radeon X1950 XT, de peu en haute résolution et avec antialiasing mais significativement une fois que la puissance de calcul est l'élément le plus important Page 24 - Conclusion ConclusionUne fois arrivé le moment d’écrire la conclusion d’un nouveau produit haut de gamme, 2 questions critiques viennent d’abord à l’esprit. Que pouvons-nous lui reprocher ? Quelle est son utilité ? A quoi sert une carte graphique haut de gamme telle qu’une GeForce 8800 GTX ? A rien et à tout en même temps. A rien parce que ce n’est pas obligatoire de disposer à d’une telle carte pour profiter d’un jeu. A tout parce qu’une fois les options graphiques activées sans compromis en haute résolution, il devient difficile de s’en passer, d’autant plus si l’écran est de type TFT. Avec une GeForce 8800 GTX et un écran 24" 1920x1200 vous pourrez profiter de tous les raffinements graphiques du moment. Que pouvons-nous bien trouver à reprocher à cette GeForce 8800 GTX ? Force est d’avouer qu’il faut bien chercher pour émettre une critique pertinente. Chercher nous l’avons fait en lui faisant subir toutes sortes de tests destinés à vérifier qu’il n’y ait pas de faille. Il y en a bien toujours une, non ? Cette fois nos tests n’ont rien mis de tel en évidence, bien au contraire puisque malgré l’immaturité des drivers, les résultats tant pratiques que théoriques sont tous excellents. Les performances sont de premier ordre, "sans forcer" ce qui témoigne de la robustesse de cette nouvelle architecture. Une impression similaire à celle que nous avait laissé le Radeon 9700 Pro en son temps. ![]() Il n’y a pas que les performances qui sont de premier ordre puisque Nvidia visiblement vexé de voir ses produits associés à "qualité inférieure" depuis plus d’un an a décidé de mettre le paquet pour proposer ce qui est maintenant la nouvelle référence en terme de qualité de filtrage. Bien entendu la question de DirectX 10 se pose. Comment se comportera ce GeForce 8800 dans les jeux DirectX 10 ? Une question qui devra rester sans réponse encore quelques temps puisque nous n’en savons rien. Néanmoins, aucune indication dans nos tests ne nous a laissé entendre qu’il se comporterait moins bien qu’un autre GPU. Nous reste alors la critique la plus facile. La taille de la carte qui ne rentrera pas facilement dans un mini-PC ou certains boîtiers (à moins de pousser très fort) et la consommation qui atteint un nouveau sommet (de peu ceci dit). Mais en écrivant ces lignes nous ne pouvons pas nous empêcher de penser qu’on reproche rarement sa consommation à une Ferrari. ![]() Dans son implémentation haut de gamme, l’architecture GeForce 8 est donc une réussite et nous sommes impatients de voir ce qu’elle donnera une fois déclinée en entrée et milieu de gamme. Permettra-t-elle à Nvidia de lancer des produits aussi efficaces que les GeForce 6600 GT et 7600 GT ne l’ont été ou posera-t-elle problème comme l’a fait l’architecture Radeon X1000 en milieu de gamme ? La GeForce 8800 GTX est une carte graphique hors normes, et ne sera probablement pas disponible en masse alors que la demande devrait être forte au vu de sa prestation. La GeForce 8800 GTS devrait quant à elle être plus facilement disponible. Commercialisée à un prix très proche de celui de la GeForce 7950 GX2, elle affiche des performances généralement supérieures et ce avec une meilleure qualité de rendu et un support de DirectX 10 qui ne peut pas causer de tort. Notez pour finir que la différence de prix entre les 2 GeForce 8800 correspond à la différence de performances entre elles qui est donc plus que significative. Mise à jour du 12 février 2007 : En ce début 2007, Nvidia commence à décliner ses GeForce 8 vers des gammes de prix plus abordables. La version 320 Mo de la GeForce 8800 GTS en est le premier pas. Commercialisée à un prix qui devrait varier entre 300 et 350€, cette carte n'est pas sans intérêt et est nettement plus intéressante qu'une Radeon X1950 XTX ou que les GeForce 7900 GTX et 7950GX2. Ceci étant dit il faut garder en tête que les 320 Mo limitent les performances en très hautes résolutions et avec antialiasing, et ce déjà dans les jeux actuels, une tendance qui ne fera que s'accentuer dans le futur. Cette GeForce 8800 GTS conviendra par exemple aux utilisateurs d'écrans 20" qui affichent une résolution de 1680x1050 et qui ont besoin d'une carte graphique rapidement. Si votre achat n'est pas urgent, étant donné l'arrivée fin mars de produits concurrents de la part d'AMD, il est plus sage d'attendre de manière à en savoir plus sur les capacités de ces cartes en environnement DirectX 10 mais également de manière à laisser la concurrence faire baisser les prix. Copyright © 1997-2025 HardWare.fr. Tous droits réservés. |