3dfx Voodoo 3 Cartes Graphiques Publié le Lundi 29 Mars 1999 par Marc Prieur URL: /articles/29-1/3dfx-voodoo-3.html Page 1 - Introduction
Mais devant l’avènement de Direct 3D et des chips concurrents tel le nVidia Riva 128 et l’ATI Rage Pro, 3dfx réagit de belle manière avec le Voodoo 2, début 1998. Même si le cœur du chip n’a pas vraiment subit de profonde modification (avec toutefois le support du trilinear filtering), le Voodoo 2 gagne en puissance grâce à deux facteurs. D’une part, la fréquence du chip passe de 50 à 90 Mhz, et d’autre part l’ajout d’une seconde TMU (unité dédiée au placage des textures) lui permet d’appliquer deux textures à un pixel en un cycle d’horloge. Quake II, premier jeu a supporter cette fonction, prenait toute sa dimension sur Voodoo 2. Mais la réaction de la concurrence ne se fit pas attendre, avec tout d’abord le MGA-G200 de Matrox durant l’été, qui, sans être aussi rapide, apportait une qualité de rendue légèrement supérieure – une première. Ce fut ensuite le tour du Riva TNT de nVidia, offrant une excellente qualité visuelle et une vitesse du même ordre que le Voodoo 2. Seuls avantages du Voodoo 2 sur la concurrence ? Un mode SLI permettant de coupler deux cartes et d’atteindre ainsi des performances toujours inégalées, ainsi q’une compatibilité maximale grâce au support de ce bon vieux Glide en sus de Direct 3D. La réaction de 3Dfx fut le Banshee, premier chip graphique (2D et 3D) de la société. En sus d’un moteur 2D assez performant, on avait le droit à une Voodoo 2, ou presque. En effet, le Banshee n’est pas capable d’effectuer du single pass multitexturing, ce qui nuit donc à ses performances dans les jeux utilisant cette fonction (de 20 à 30% par rapport au chip le supportant, comme le Voodoo 2). Plus qu’un véritable Voodoo 3ème du nom, le Voodoo 3 est une Banshee 2. Première innovation, le 3dfx Voodoo 3 est gravé en 0.25 microns par le fondeur TSMC (Taiwan Semiconductor Manufacturing Company), ce qui n’empeche pas le Voodoo 3 d’être d’une taille importante, entre le Rage 128GL (0.25 microns également) et le Riva TNT (0.35 microns). Grâce à cela, le Voodoo 3 peut atteindre des fréquences très elevées par rapport au chip actuels (143 Mhz pour la version 2000, 166 Mhz pour la version 3000 et 183 Mhz pour une future version 3500). Impact direct, le chip peut traiter plus d’opérations par seconde, et est donc plus rapide. Autre nouveauté, la deuxième unité de texture, absente du Banshee, fait son retour, ce qui permet au Voodoo 3 d’avoir des performances au top niveau, et ce également dans les applications n’utilisant pas le multi-texturing. Coté 2D, c’est similaire au Banshee (et donc très bon). En ce qui concerne le DVD, le Voodoo 3 gère comme toute carte les dernières cartes graphiques la conversion YUV/RBG ainsi que le redimensionnement de la vidéo. Avec un bon logiciel comme lecteur de Cinemaster, on pourra donc profiter du DVD dès le Pentium II 350. Mais, car il y’a toujours un mais, 3dfx, pour conserver la compatibilité Glide, a également conservé en grande partie la partie 3D du Voodoo 1, d’où de nombreuses limitations qui pourrait porter préjudice au Voodoo 3 dans un avenir plus ou moins proche. Page 2 - Couleurs 16 bits
Première limitation du Voodoo 3, il ne supporte pas la mode 32 bits en 3D et se limite au 16 bits, soit 65536 couleurs. Si cela n’a pas d’impact sur les jeux actuels, une dégradation notable de qualité pourrait se faire sentir dans les jeux a venir. En effet, pour le moment les jeux utilisent au mieux de textures 16 bits (Unreal par exemple), voir même 8 bits. Dans le futur, certains jeux comme Quake III utiliseront des textures 24 Bits. Sur une texture simple, le dithering (diminution du nombre de couleurs) sera donc légèrement visible. Si l’on utilise plusieurs textures, ou encore un fog (brouillard) d’une couleur unie, le résultat en 16 bits devrait être nettement moins bon – sans être catastrophique non plus, n’exagérons rien – qu’en 32 bits. 3Dfx à deux arguments. D’une part, le 32 bits est gourmand en ressource. C’est vrai. A l’heure actuelle, le passage du mode 16 bits au mode 32 bits fait perdre environ de 20% à 40% de performances selon les chips graphiques. Néanmoins, ce n’est en aucun cas un argument pour ne pas l’implémenter, car si les chips tels que le TNT ou le Rage 128GL nous laisse le choix (16 bits performant ou 32 bits moins performant et offrant une meilleure qualité), avec les Voodoo, c’est 16 bits ou 16 bits. Pour défendre son 16 bits, 3dfx indique que ces chips utilisent une technologie spéciale de compression permettant d’atteindre, toujours avec 16 bits par pixels, 4 millions de nuances de couleurs, contre 65536 couleurs pour les chips normaux qui n’utilisent pas de technique particulières. Why not. Mais je suis sceptique pour deux raisons. La première, c’est que le Voodoo 3 ne supporte pas les textures 32 Bits, au format 8888-RGBA (8 bits – 256 nuances - pour le rouge, 8 bits pour le vert, 8 bits pour le bleu et 8 pour le channel alpha – transparence). C’est bien beau de rendre en " 22 bits ", mais si à la base les textures sont chargées en 16 Bits (que ce soit au format 4444 RGBA, 5551 RGBA ou 565 RGB) l’intérêt est déjà plus limité, même si il est valable lorsqu’on utilise le multi-texturing ou encore un fog volumétrique d’une couleur unie. Mais la seconde raison, c’est que je n’ai pas réussi à trouver un seul avantage au 16 bits du Voodoo 3 par rapport au 16 bits d’une autre carte, c’est la même qualité et on n’est pas au niveau du 32 bits. Bref, le "22 bits", c´est du bidon à mon humble avis.
Page 3 - Depth Buffer 16 bits
Autre reproche fait au Voodoo 3, son Depth Buffer n’est que 16 bits la encore. A titre de rappel, le Depth Buffer est utilisé à la fin du rendering 3D, lors de l’écriture de l’image dans le Frame-Buffer, afin de savoir si tel ou tel pixel de l’objet sera caché ou pas. Mais les choses deviennent ici un peu plus complexe. En effet, il existe deux type de Depth Buffer, le Z-Buffer et le W-Buffer, et les cartes Voodoo 2 & 3 sont les seules a disposer d’un W-Buffer. Dans un Z-Buffer, la valeur de la profondeur n’est pas attribuée de manière linéaire. Dans une scène 3D disposant d’un ratio de distance de 131072 entre le premier plan et le dernier plan, la moitié de la valeur Z sera utilisée pour définir la position du point dans l’intervalle [1,2], et 1/131072 de la valeur Z sera utilisée pour définir la position du point dans l’intervalle [65536,131072]. Avec un Z-Buffer 16 Bits (65536 valeurs), on disposera donc de 32768 valeurs pour définir l’emplacement du point dans l’intervalle [1,2] (d’ou une précision très – trop – élevée), mais seulement d’une valeur pour définir l’emplacement du point dans l’intervalle [65536,131072]. Cette distribution de la valeur Z sera d’autant plus inégale que le ratio sera élevé. Le Z-Buffer est donc très précis pour les objets proches, mais perd nettement de son efficacité pour les objets plus loin, du moins en 16 bits. Le W-Buffer distribue la valeur de profondeur de manière plus linéaire, puisqu’à chaque intervalle, 1/n d’intervalles valeurs seront attribuées (les intervalles étant calculées de la sorte : [N, Nx2], [(Nx2), (Nx2)x2], [(Nx2x2), (Nx2x2)x2] etc…). Dans l’exemple ci-dessus, nous utilisions une scène disposant d’un ratio de 131072 entre le premier plan et le dernier plan, le Z-Buffer 16 bits s’avérait peu efficace pour les objets éloignés.
Si un W-Buffer 16 bits est plus précis dans la majeure partie des scènes qu’un Z-Buffer 16 bits (il équivaut à un Z-Buffer 22 bits d’après les dires de 3dfx), il n’est donc pas parfait, et a un gros problème. En effet, si le W-Buffer est supporté par Direct X 6, il n’est pas utilisé par défaut dans les applications, et je ne connais pas d’application (de jeu !) permettant de choisir entre Z-Buffer classique et W-Buffer. Un Z-Buffer 32 bits est donc préférable à l’heure actuelle, d’autant qu’il est très précis comme vous pouvez le voir dans le tableau. Néanmoins, l’utilisation du W-Buffer à la place du Z-Buffer devrait se généraliser dans les prochains mois, avec un meilleur support Hardware (à ma connaissance seules les cartes Voodoo en sont équipées). Il est également a noter que le Voodoo 3 ne supporte pas le Stencil Buffering, qui est utilisé comme pochoir ou comme masque afin de faciliter le rendues des ombres volumétriques (comme c’est le cas dans Unreal avec le patch pour la Creative TNT) ou encore de définir une zone de l’image n’ayant pas besoin d’être écrite dans le frame buffer à chaque fois (un cockpit d’avion 2D par exemple). La encore, peu de jeux utilisent cette fonction à l’heure actuelle, mais c’est une fonction promise à un belle avenir et supportée par le TNT et le Rage 128GL qui peuvent utiliser un Stencil Buffer 8 bits en complément d’un Z-Buffer 24 bits. Page 4 - Autres limitations
Autre défaut, le Voodoo 3 ne supporte pas de textures d’une taille supérieure à 256*256 pixels. Avantage des grosses textures ? C’est simple. Vous avez une surface de 1024*1024 pixels à texturer. Si on ne dispose que d’une petite texture de 256*256, le seul moyen sera donc de grossir cette texture afin qu’elle se place sur la surface à texturer. La perte de qualité sera notable, et il vaut donc mieux utiliser de grandes textures. Mais un autre problème interviendra alors. En effet, une " simple " texture 16 bits de 1024*1024 c’est 2 Mo, contre 8 Mo pour une texture 16 bits de 2048*2048. Et si on passait en 32 bits ? 16 Mo pour une texture de 2048*2048, rien que ca. Supporter de grande textures, c’est bien, encore faut il pouvoir les utiliser à une vitesse raisonnable, et c’est difficile sans une technique de compression telle que le S3TC. La limitation à des textures de 256*256 pixels, s’il est dommageable du point de vue de la qualité, est donc assez " positive ". En effet, la Voodoo 3 étant limitée à 16 Mo et ne supportant ni le S3TC, ni l’AGP Texturing, il aurait été suicidaire de faire tourner des scènes utilisant de grosses textures dessus. Voici un screenshot d’une scène issue d’une demo du Kick Engine, un moteur 3D à venir, montrant la gain de qualité due aux textures de taille importante. Il est clair que lorsque des jeux utiliseront de telles textures (la version S3TC de Unreal Tournament devrait supporter des textures de tailles importante), ce sera une petite révolution.
Si le Voodoo 3 peut utiliser les transfert via l’AGP en mode 2x (533,33 Mo /s), il ne supporte pas l’AGP Texturing. Késako ? L’AGP Texturing permet au chip graphique d’accéder directement aux textures en mémoire centrale, sans passer par la mémoire vidéo. Cela peut être utile si une scène 3D dispose de 8 Mo de textures et qu’il n’y a que 4 Mo de mémoire vidéo disponible par exemple. L’argument de 3dfx, c’est que l’AGP Texturing est lent (533,33 Mo /s) comparé a la mémoire vidéo des Voodoo 3 2000 (2293,33 Mo /s) et 3000 (2666,66 Mo /s). Mais … quand cette mémoire vidéo, " limitée " à 16 Mo, est bourrée à craquée, il est plus rapide d’utiliser une mémoire centrale " lente " que de charger / décharger continuellement les textures à utiliser. Voici un " petit " tableau, indiquant a titre indicatif la mémoire vidéo requise selon la profondeur de l’affichage, la précision du Z-Buffer, et l’activation d’un troisième frame buffer (histoire de rendre le jeux encore plus fluide) ou pas.
La Voodoo 3 dispose de 16 Mo de mémoire vidéo, et sa puissance lui permet de jouer confortablement en 1280*1024. Comme elle ne supporte pas le mode 32 bits, un Z-Buffer 32 bits ou encore les textures d’une taille supérieure au 256*256, les 16 Mo s’avèrent suffisant. En effet, il reste entre 6 et 8.5 Mo pour les textures, selon que l’on active le triple buffering ou pas. Les jeux actuels se contenteront de cet espace, mais quand sera-t-il des jeux à venir ?
3dfx annonce que le Voodoo 3 est capable d’effectuer du Bump Mapping en une seule passe. Malheureusement, soit la fonction n’est pas encore implémenté dans le drivers, soit le Voodoo 3 ne supporte pas le single pass Bump Mapping. En effet, impossible de passer ce test au 3D Mark 99 Max, le Bump Mapping s’effectuant seulement en deux passes. Encore une fois (décidement), ca n’a pas d’impact sur les jeux actuels, qui ne supporte pas cette fonction qui permet pourtant d’améliorer nettement la qualité visuelle en créant un effet de relief sans surcharger le processeur, simplement en jouant sur la réflexion de la lumière. Néanmoins, dans les jeux qui supporteront cette fonction le Voodoo 3 ira moins vite que les processeurs supportant cette fonction (un peu comme le Banshee qui ne supporte pas le single pass multi-texturing, et qui s’avère donc plus lent sous Quake II).
Mais après ce petit avant goût technique, il est temps de passer à la pratique. Car ce qui compte au final, c’est ce que donne le Voodoo 3 dans les applications ! Page 5 - Conditions du test
Pentium III 500 et Celeron 400 :
K6 III 400
3dfx Voodoo 2 : 4.11.01.0350
Tout les tests on étés effectués avec le V-Synch OFF. Les tests sont réalisés deux ou trois fois, selon le test, afin que le disque dur ne rentre pas en compte. Pour faire plaisir a monsieur Thierry Derouet, rédacteur en chef de PC Expert : Les tests 2D on été effectués avec le ZD’s WinBench® 99 Version 1.1 (Attention Winbench® est une marque déposée par ZD Inc.), sans qu’une vérification des tests ai été effectuée par ZD. ZD ne garantie pas les résultats des tests. Configuration de test : Intel Celeron 400 Mhz et 128 Ko de cache, 128 Mo de SDRAM, 3dfx Voodoo 3 2000 , driver 4.11.01.0120, 3dfx Voodoo 3 3000, driver 4.11.01.0120, ATI Xpert 128, driver 4.11.01.2090, STB Velocity 4400, driver nVidia 4.11.01.0109. Système d’exploitation Microsoft® Windows® 98 avec DirectX 6.1. Page 6 - Installation, Drivers, Problèmes, Qualité 3D, Perf
L’installation de la carte ne pose pas de problèmes particulier, que ce soit sur chipset Intel LX, BX, VIA MVP3 ou encore ALI V. Les drivers proposent notamment un réglage des gammas pour le Glide et le Direct 3D :
La Voodoo 3, comme toute carte à ses débuts, rencontres quelques problèmes avec certains jeux. Néanmoins il n’y rien de bien dramatique et tout devrait être résolu pour la sortie de la carte. En fait le plus gros soucis c’est qu’aucun des jeux Glide ne propose de monter au dessus du 1024*768 ! :)
Grâce a leur RAMDAC élevés (300 Mhz pour la version 2000 et 350 Mhz pour la version 3000), les Voodoo 3 fournissent une image très stables en 2D, et ce mêmes en hautes résolutions. En 3D, le rendu 16 bits s’avère des plus corrects. D’après le test de qualité du 3D Mark 99 Max, la qualité se situe à mi chemin entre une TNT et une Rage 128, le trilinear filtering semblant un peu moins précis que sur le Rage 128. En OpenGL, comme sur Voodoo 2 il y’a un léger phénomène de tramage comme vous pouvez le voir si dessous. La TNT garde donc son leadership sous Quake II, mais il n’y a rien de dramatique. Bref la Vooodo 3 offre une excellente qualité d’image dans les jeux actuels, qui n’utilisent pas les fonctions absentes du Voodoo 3.
Certains ce sont plein de l’absence de test 2D dans le test de la Rage 128GL, je ne referais donc pas l’erreur ici. A l’utilisation, et quelques soit la résolution, le Voodoo 3 offre d’excellentes performances 2D, que ce soit en 16 ou en 32 bits. Voici quelques résultats du High End Graphics WinMark™ 99 issue de la suite de benchs WinBench® 99 Version 1.1 (qui est, je le rappelle, une marque déposée par ZD Inc.).
Page 7 - 3D Mark 99 Max
Voici les scores obtenus au 3D Mark 99 Max des différentes solutions "haut de gamme" en 3D destiné au joueur. Prenons le temps d´analyser les résultats. Tout d´abord, il apparaît clairement que le 3D Mark met le Celeron 400 à rude épreuve. En effet, ce dernier ne semble pas fournir assez de polygones /s à texturer à la carte 3D, ce qui explique les performances très proches en 1024*768 des cartes, que ce soit a l´indice global ou dans l´un des deux jeux. Par contre, lorsque l´on passe en 1280*1024, le fillrate "bas" du Rage 128GL et du TNT se font sentir, et le 3dfx Voodoo 3 creuse l´écart. Comme vous pouvez le voir, si les Voodoo 2 SLI offre en théorie une puissance supérieures (cf. le fillrate), c´est différent en pratique, avec des performances légèrement inférieures au Voodoo 3. Vous remarquerez également les performances très élevées du Voodoo 3 lorsqu´on active le multi-texturing. En effet, il gagne 90% en fillrate, ce qui est proche du gain parfait (100%). Le TNT est proche, avec +80%, alors que le Rage 128GL montre peu d´efficacité dans se domaine (+30%). Qu´est ce que le fillrate plus élevé du Voodoo 3 peut apporter ? C´est simple, une scène en 1280*1024 contient 67% de pixels de plus qu´une scène en 1024*768. Une carte X offrant une fillrate supérieure de 67% à une carte Y ira donc aussi vite en 1280*1024 que la carte Y en 1024*768 (attention ce n´est que de la théorie). Que ce passe t il si on change le processeur ?
Le 3D Mark dispose d´une optimisation pour les instructions 3D Now! et SSE sur K6 III et du Pentium III. Lorsque la carte vidéo n´est plus limitée par le processeur, comme sur le Pentium III, les écarts commencent à se creuser vraiment. A noter les excellentes performances du Voodoo 3 sur le K6 III au 3D Mark 99 Max, qui est particulièrement bien optimisé 3D Now!. Page 8 - Des Jeux ! (Quake II, Shogo, Dethkarz, Half Life)
Le 3D Mark n´étant qu´un benchmark, il est temps de se préocuper des performances de la bète dans les jeux actuels ... au menu, Quake II (OpenGL / Glide), Shogo (Direct 3D), Dethkarz (Direct 3D / Glide - utilisé uniquement en Direct 3D) et Half Life (OpenGL / Direct 3D).
Enfin ! Enfin une carte qui approche, et dépasse dans certains cas, les performances de deux Voodoo 2 SLI ! Sans être un Voodoo 2 SLI Killer, le Voodoo 3 parvient au même niveau de performances. Dans tout les jeux, que ce soit en réseau ou non, ils vous sera donc possible de jouer sans aucun problème en 1024*768, a un framerate confortable de 45-60 images /s, soit le framerate idéal pour un jeux (non, 24 images /s ne suffisent pas pour avoir une vrai impression de fluidité lorsqu´il y´a interaction). Vous remarquerez les performances assez basses sous Half Life en Direct 3D, ou toutes les cartes obtiennent des performances proches. Apparemment ce test met plus le processeur à plat qu´autre chose. Passons maintenant un cran au dessus ... 1600*1200 ...
C´était trop beau .. ;) En effet, avec des moyennes de framerate entre 25 et 30, le Voodoo 3 n´est pas assez rapide pour jouer en 1600*1200. Il faudra donc se rabattre sur le 1280*1024 (ou le 1280*960). A l´heure actuelle, le Voodoo 3 est la seule carte 2D/3D à offrir de telles performances en 3D. Vous noterez l´écart gigantesque avec le Rage 128GL et le TNT ;) Page 9 - Dépendance processeur
Voici quelques tests en 1024*768 sur Quake II / Shogo / Dethkarz / Half Life, sur Pentium III 500, Celeron 400 et K6 III 400. Il n´est pas question ici de faire un comparatif entre les processeurs, étant donné qu´ils sont parfois limités part les performances de la carte graphique.
Les Voodoo 2 SLI gardent les meilleurs performances sous Quake II sur K6 III ... pourquoi ? Tout simplement parce que je n´ai pas pu utiliser le drivers 3dfx miniGL spécialement développé par AMD pour Quake II. J´ai donc du me contenter du drivers de 3dfx, optimisé 3D Now! certes mais dans une moindre mesure. Comme vous pouvez le voir, sur K6 III 400 les performances des versions 2000 et 3000 sont très proches, mais cet écart grandis avec l´augmentation de la puissance processeur. Le TNT et le Rage 128GL gardent quand à eux des performances similaires.
Cette fois ci, le Voodoo 3 se place devant les Voodoo 2 SLI, quelques soit le processeur. Le Rage 128GL tout comme le TNT sont encore une fois laminés. Sur petit processeur c´est le Rage 128GL qui prend le pas sur le TNT, alors que ce dernier rattrape sont retard lorsqu´on utilise des processeurs plus puissants.
Les résultats sont assez similaires à ceux obtenus sous Shogo, avec des écarts plus grand toutefois. Le Voodoo 2, en mode SLI se situe cette fois entre le Voodoo 3 2000 et le Voodoo 3 3000. Comme sous Shogo, le Rage128 GL est plus performant que le TNT sur K6 III 400.
Comme vous pouvez le voir, Half Life est très dépendant du processeur ! Sur K6 III 400 (il n´y a pas encore de patch 3D Now ! officiel), les performances des cartes assez proches, par contre dès que l´on met un processeur plus rapide, les écarts se creusent pour devenir énormes au final. Vous noterez les faibles performances du Rage 128 GL sous Half Life en mode OpenGL, quelque soit le processeur. Page 10 - Conclusion
Le Voodoo 3, et donc les cartes 3dfx Voodoo 3 2000 et Voodoo 3 3000, sont assez difficiles à juger. D’un coté, le Voodoo 3 ignore toutes les fonctions avancées qui devraient être exploitées dans les futurs jeux, mais de l’autre, il offre une compatibilité, une qualité, et des performances de très haut niveau avec les jeux actuels. Bref, il est aussi difficile de conseiller le Voodoo 3 que de le déconseiller.
Plus que vous et moi, ce sont les développeurs de jeux qui décideront de l’avenir du Voodoo 3, par l’intégration ou non des dernières technologies 3D. Cette incertitude concernant les capacités de la carte avec les jeux futurs est la raison qui me pousse à vous déconseiller le Voodoo 3 si vous êtes du genre à conserver votre carte 1 an, voir plus. Par contre, si vous changez de carte vidéo assez souvent, le choix du Voodoo 3 est envisageable, et vous ne trouverez pas mieux pour la 3D à l’heure actuelle, en attendant un chip aussi rapide et supportant toutes les fonctions absentes (je pense notamment au TNT 2 qui devrait être disponible un mois après le Voodoo 3, a vous de voir si cela vaut la peine d’attendre). Attention toutefois, qui dis Voodoo 3 dis processeur puissant tout de même (Pentium II 300 ou équivalent), histoire de ne pas gâcher inutilement toute cette puissance. Si vous disposez déjà d’une Voodoo 2, l´upgrade vers la Voodoo 3 2000 est très intérressant si vous revendez votre Voodoo 2. En effet, pour 1000 Frs, vous disposerez des performances de 2 Voodoo 2, mais avec seulement un Slot AGP ou PCI d´utilisé contre 3 si vous avez une carte graphique et 2 Voodoo 2. Si vous possédez déjà une TNT, ou même une Rage 128GL, vous gagnerez certes en rapidité et en résolution en prenant une Voodoo 3, mais vous perdrez en fonctions supportées, autant attendre patiemment le TNT 2 par exemple. Si le Voodoo 3 est le chip 2D/3D du moment, il ne conservera ce titre que très peu de temps. Monsieur 3dfx, à force de vous reposer sur vos laurier et votre image de marque, vous allez perdre un leadership déjà fortement menacé en matière de 3D " jeu ". Il serait temps d’innover et de sortir un chip aussi rapide que complet et d´arreter de sortir des arguments bidons pour cacher votre retard technologique … vivement le Voodoo 4 ! Des commentaires ou des questions sur cet article ? :
Rappel des Notes : Copyright © 1997-2024 HardWare.fr. Tous droits réservés. |