HardWare.fr


NVIDIA GeForce2 GTS
Cartes Graphiques
Publié le Mercredi 26 Avril 2000 par Marc Prieur

URL: /articles/208-1/nvidia-geforce2-gts.html


Page 1 - Introduction, Gravure 0.18, T&L Boosté

nv15_logo.gif (6396 octets)Depuis l´arrivée du TNT 1er du nom, NVIDIA s´est clairement imposé comme un acteur majeur du marché des chips graphiques orientés power user. Mais depuis cette date, NVIDIA n´a pas cessé de faire évoluer ses produits, au rythme infernal d´un nouveau produit tout les 6 mois. Ainsi, la rentrée 1998 a vu la sortie du TNT, suivit par le TNT 2 au printemps 1999, puis par le GeForce 256 à la rentrée 1999. Suivant toujours un cycle de 6 mois, NVIDIA nous propose aujourd´hui une évolution du GeForce, le GeForce 2 GTS (Giga Texel Shader).

Une gravure en 0.18 Microns

nv15_chipduo.jpg (13535 octets)Comme l´indique son nom, le GeForce 2 n´est pas une révolution en soit mais plutôt une évolution de notre bon vieux GeForce. Première chose, alors que le GeForce est gravé en 0.22 Microns, le GeForce 2 est gravé en 0.18 Microns. Les avantages sont multiples : En effet, tout en conservant un chip d´une taille raisonnable, NVIDIA à put ainsi intégrer plus de fonctions dans le GeForce 2, tout en le cadençant à une vitesse plus élevée et ce sans pour autant qu´il ne chauffe ni ne consomme trop. Ainsi, le GeForce 2 est cadencé à pas moins de 200 Mhz, contre 120 Mhz pour le GeForce 1er du nom.

Un T&L boosté

Tout d´abord, il convient de rappeler ce qu´est le Transformation & Lighting, ou tout du moins son implémentation en hardware dans un chip graphique.

Dans le processus de création d´une scène 3D, il y´a une phase appelée la Transformation géométrique. Lors de cette phase, on applique des matrices de transformation au différents objets de la scène 3D afin de créer un mouvement. Cela va de l´agrandissement / réduction d´un objet (Scalling) à son déplacement (Translation) en passant par sa rotation (Rotation). Dans les PC traditionnels, cette phase était jusqu´alors prise en charge par notre bon vieux processeur central. Mais avec le GeForce, et donc le GeForce 2, c´est différent. En effet c´est ce dernier qui prend en charge cette étape, à condition que l´application soit programmée pour (via DirectX 7 ou OpenGL). Résultat direct ? Le CPU se retrouve allégé de 20 à 30%, ce qui permet aux développeurs d´augmenter l´IA, le nombre de polygones … ou tout simplement de ne pas y toucher et d´avoir un framerate plus élevé. Et le lighting dans tout cas ? Et bien en sus de la Transformation, les GeForce 1 & 2 supportent également la gestion des éclairages dynamiques en hardware, afin la encore d´économiser du temps processeur.

nv15_carte.jpg (16234 octets)Tout comme un processeur central, le T&L du GeForce 2 profite directement de l´augmentation de la fréquence. Ainsi, NVIDIA annonce une puissance brute de 25 Millions de triangles secondes, alors que le GeForce 1 se "contentait" de 15 Millions de triangles secondes. Bien sur rien ne vaut un petit benchmark pour vérifier les dires de NVIDIA, voici donc un test effectué sous le test Treemark en 640*480 16 bits (PIIIE 600, Carte Mère BX, 256 Mo de RAM, GeForce DDR / GeForce 2 DDR 32 Mo, Drivers 5.16) :

 

treemark_tl.gif (7504 octets)

Comme vous pouvez le constater, l´augmentation des performances est plus que significative, puisque le gain de performances varie entre 37% (1 lumière) et 76% (8 lumières). Toutefois, étant donné qu´aucun jeu n´utilise vraiment le T&L du GeForce à son maximum, ce gain de performances paraît superflu pour le moment, sauf pour les applications OpenGL Pro.



Page 2 - Fillrate décuplé, BP... insuffisante !

Un fillrate décuplé

Le fillrate de la carte augmente aussi, mais pas uniquement grâce à la féquence du chip. En effet, alors que le GeForce ne disposait que d´un Texel Engine pour chacun de ses 4 Pixel Engine, le GeForce 2 dispose de deux Texel Engine pour chacun des 4 Pixel Engine.

Cela permet au GeForce 2 de rendre 4 Pixels en dual texturing par cycle d´horloge, contre 2 pour le GeForce 1er du nom. Ainsi, le fillrate du GeForce 2 est de 800 Mpixel /s en single ou dual texturing, alors que le GeForce 1 se limitait à 480 Mpixel /s en single texturing, et 240 Mpixel /s en dual texturing. Avantage direct ? En hautes résolutions ou avec le Full Scene Anti Aliasing activé (qui rend la scène en interne dans une résolution doublée), et à condition de ne pas être limité par la bande passante mémoire, les performances devraient théoriquement s´envoler.

q3_fillrate.gif (6809 octets)

La encore l´augmentation de performances est importante, avec un gain de l´ordre de 60 à 70% selon les réglages … pas mal ! Mais le problème, c´est que ces tests ont étés effectués en 16 bits … et franchement, qui a envie de jouer en 16 bits avec une GeForce 2 DDR ?

Une bande passante mémoire ... insuffisante !

Et c´est bien la tout le problème du GeForce 2 … en effet, le seul facteur qui n´ait pas beaucoup évolué entre GeForce 1 et 2, c´est la mémoire vidéo. Alors que le 1er utilisait de la mémoire DDR SDRAM 128 bits à 150 Mhz, le second utilise … la même mémoire, mais à 166 Mhz. Et c´est cette bande passante, qui n´augmente que de 10%, qui est le vrai facteur limitant du GeForce 2 en 32 bits comme vous pouvez le constater ci dessous :

q3_bpm.gif (6953 octets)

20% de performances en plus ? Plus qu´un facteur limitant, la bande passante mémoire du GeForce 2 est un véritable boulet … qui l´empêche de s´exprimer pleinement. Mais le problème, c´est que NVIDIA n´y peut pas grand chose, car aucune mémoire ne propose une bande passante plus élevée a l´heure actuelle. La seule solution aurait été d´utiliser un bus mémoire 256 bits … mais la, ce n´est pas 3000 Frs qu´il aurait fallu débourser pour un GeForce mais 4000 tellement la carte serait complexe a fabriquer !



Page 3 - Shading Rasterizer

NVIDIA Shading Rasterizer, kézako ?

Mais le GeForce 2 n´est pas qu´un GeForce plus rapide, puisqu´il dispose d´une nouvelle unité de calcul appelée le Shading Rasterizer.

Jusqu’à présent le shading n’était pour la majorité d’entre vous que le fait d’utiliser une ombre ou de mapper un objet. Jusqu´alors lors, les cartes 3D utilisaient deux techniques assez simple d’interaction entre la lumière et les textures : le light map et le vertex ligting. La première consiste à utiliser une texture supplémentaire qui comprend la lumière et que l’on pose sur la texture à éclairer, la seconde consiste à utiliser pour chaque vertex et donc chaque polygone des intensités lumineuse différentes . Le GeForce 2 va beaucoup plus loin.

renderman.gif (3154 octets)En effet, ce processeur introduit une technique de programmation bien particulière au monde de la 3D professionnelle qui améliore le rendu visuelle de façon significative : les shaders. Cette technique est utilisée dans tous les logiciels de rendu 3D haut de gamme comme MentalRay ou encore RenderMan, MAYA. Elle permet de décrire avec précision les interactions entre la lumière, les objets, les textures et l’environnement d’une scène 3D.

Dans ces logiciels de rendu 3D, le shader est un fichier de description qui est utilisé au moment du calcul de l’image pour définir, par exemple, les variations de lumières sur un pixel ou sur un objet. Les shaders peuvent être divisé en plusieurs catégories :

  • material shader qui décrit l’aspect visible d’un objet (la texture par exemple)
  • volume shader qui décrit les volumes que peut rencontrer un rayon de lumière (le brouillard par exemple)
  • light shader qui décrit les caractéristiques d’une source lumineuse (sa position, son intensité, etc)
  • shadow shader qui décrit les caractéristique d’une ombre.
  • Texture shader qui ont plusieurs paramètres : la couleur, taille et hauteur. On peut ainsi avoir une formule mathématique à la place d’une texture (l’aspect du marbre par exemple)
  • Lens shader qui décrit l’interaction de la lumière à travers la camera

Les shaders sont donc soit des paramètres, soit des formules mathématiques qui sont associées à chaque pixel ou objet de la scène 3D pour avoir un rendu hyper réaliste. Chaque logiciel de rendu utilise un mode de programmation particulier pour ses shaders, en général une sorte de C. Ainsi chaque pixel est calculé à l’aide de shaders. Grâce au shaders, il est donc possible de programmer n´importe quel effet librement, et au pixel près.

En attendant l´arrivée de DirectX 8, qui gérera pleinement les Pixel Shader, NVIDIA nous propose avec le GeForce 2 un mode particulier de shader : le light shader, qu’il effectue en temps réel ! Pour se faire, chaque pixel est défini par deux textures : la texture de base et la "normal map". What is it ? Il s´agit en fait d´une texture indiquant pour chacun des pixel de la texture de base son orientation grâce à un code de couleur. Grâce à ces informations, le GeForce 2 est capable de calculer l´intensité et la direction de la lumière au pixel près … ce qui permet notamment d´effectuer un Bump Mapping très précis (appelé Dot Product 3), un peu comme le fait Matrox avec l´Environment Map Bump Mapping. Mais alors que l´EMBM nécessite 3 textures, le Dot Product 3 se contente de deux textures … et est donc en théorie bien plus rapide.

iom1_mini.jpg (19276 octets)iom2_mini.jpg (22954 octets)
Isle of Morg sans DotProduct3 BumpIsle of Morg avec DotProduct3 Bump

Reste qu´une fonction n´a que peu d´utilité si elle n´est pas utilisée dans des applications … et comme toute nouvelle fonction, ce n´est pas vraiment le cas des pixel shaders. En effet, à l´heure ou j´écris ces lignes, aucun jeu n´utilise le pixel shader. Il faudra donc se contenter des deux démos technologiques de NVIDIA, Isle of Morg et Evolva … et comme vous pouvez le voir sur les screenshots, le Bump Mapping de type Dot Produt 3 est très convaincant, tout comme l´Environment Map Bump Mapping de Matrox. L´impact sur les performances est toutefois plus réduit : en effet, sous Isle Of Morg, on perd un peu moins 4 images / s en activant le Dot Product 3 (on passe de 40.2 à 36.8 fps). A noter toutefois que sous Evolva l´implémentation du Dot Product 3 ne semble pas parfaite, puisque l´on passe de 45.5 fps sans à … 25.1 fps avec ! Messieurs, il va falloir optimiser votre code …



Page 4 - Benchmarks

Performances dans les jeux actuels

Voici maintenant venue le temps … des benchmarks dans les jeux. Pour se faire, j´ai mesuré le framerate obtenu par les GeForce 1 & 2 (dans des versions 32 Mo) sous 3 Jeux : Quake III, Dethkarz et Expendable. Tout les test ont été effectués sur la configuration suivante : PIIIE 600, Carte Mère BX, 256 Mo de RAM, et drivers NVIDIA 5.16.

quake3.gif (10465 octets)

En 640*480, aucune différence notable n´est a signaler : normal, les performances sont limitées par le processeur central qui doit placer les polygones dans la scène 3D. Lorsque l´on passe en 1024*768, la GeForce prend l´avantage, sans larguer complètement son "ancêtre" puisque l´écart reste de l´ordre de 20%. C´est en 1600*1200 16 bits que l´écart entre les deux cartes est le plus important (65%) grâce à l´énorme fillrate du GeForce 2. Toutefois, dès que l´on passe en 32 bits, le chip se retrouve limité par la bande passante mémoire … de ce fait l´écart en 1600*1200 32 bits n´est plus que de 23%.

expendable.gif (9414 octets)

Sous Expendable, l´écart entre GeForce 1 et GeForce 2 est quasi nul, et ce même en 1600*1200 16 bits. Ce n´est qu´en 1600*1200 32 bits que le GeForce 2 prend légèrement le dessus (+ 16%). Pourquoi ces performances ? Tout simplement parce que Expendable est un jeu très gourmand niveau processeur … de ce fait, le jeu n´est pas vraiment limité par le fillrate d´un GeForce 1, ni par celui d´un GeForce 2, mais plutôt par les performances du processeur central. Voilà un jeu qui aurait mérité d´être T&L !

dethkarz.gif (8757 octets)


Sous Dethkarz les choses sont légèrement différentes, ce jeu étant moins dépendant du processeur central. En 1600*1200, l´écart est net, puisqu´il atteint 31% en 16 bits et 20% en 32 bits. Malheureusement, dans la résolution la plus courante à l´heure actuelle, à savoir le 1024*768, les performances sont quasiment identiques …



Page 5 - Conclusion

Pour conclure ...

geforce2_intro.jpg (9692 octets)Une chose est sur, le GeForce 2 GTS est le meilleur chip graphique orienté 3D disponible à l´heure actuelle. Le Roi est mort, vive le roi ! En effet, de part la puissance de son T&L, son fillrate énorme et le support du Pixel Shader, le GeForce 2 GTS relègue le GeForce 1er du nom au rang de petit joueur … du moins en théorie.

En effet, il s´avère qu´en pratique le chip est pour le moment fort limité par la bande passante offerte par sa mémoire vidéo (de la DDR 166 Mhz) … de ce fait les performances par rapport à un GeForce ne sont améliorées que de 20% en 32 bits (qui veut jouer en 16 bits avec un GeForce 2 ?) et en hautes résolutions. Quant au Pixel Shader, s´il offre des possibilités fortes intéressante, il semble avoir un avenir similaire au T&L : il va falloir attendre au moins six mois avant qu´une majorité de jeux l´utilise.

Quant au prix, il est plutôt excessif : Un peu moins de 3000 Frs pour les premières cartes 32 Mo … soit moitié plus que le prix d´une GeForce DDR, pour 20% de performances en plus dans les jeux actuels ... autant dire que cette dernière offre selon moi un bien meilleur rapport qualité / prix ! Bref, je pourrais résumer mon avis final à ces deux petites questions / réponses :

Le GeForce 2 GTS est t´il le meilleur chip graphique disponible à l´heure actuelle ? Oui !
Faut t il pour autant acheter une carte basée sur le GeForce 2 GTS des leur sortie ? Non !

Néanmoins je tiens quand même à tirer un coup de chapeau à NVIDIA et à ses ingénieurs, dont le seul problème est d´être trop en avance par rapport aux développeurs de jeux et aux fabricants de mémoire ...



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