ATI Radeon

Publié le 17/07/2000 par
Imprimer


ati_radeon_logo.gif (9495 octets)Depuis le Rage 128, ATI avait semble t´il perdu la course a l´armement lancée par NVIDIA. Les premières cartes basées sur le Rage 128 arrivèrent sur le marché français 6 mois après le TNT1, et deux mois seulement avant l´arrivée des TNT2. A la rentré 1999, soit 4 mois après le TNT2, ATI lançait une version "Pro" du Rage 128, puis une carte dual Rage 128 Pro ... mais malheureusement, en face NVIDIA proposait un excellent GeForce DDR. Conscient de ce problème, ATI a donc décidé d´annuler tout simplement le projet Rage 5, dépassé avant même d´être sorti, pour passer directement au Rage 6. C´est ce Rage 6, synonyme de renouveau chez ATI, que l´on retrouve maintenant sous la dénomination de Radeon. GeForce2 GTS Killer ?

Le chip

radeon_chip.jpg (13183 octets)Autant être clair, le Radeon est tout simplement le GPU (Graphic Processor Unit) le plus complexe réalisé jusqu´alors. Gravé en 0.18 Micron, il intègre en effet pas moins de 30 Millions de transistors. Ces transistors se repartissent bien entendu entre les moteurs 2D, 3D et Vidéo. Côté mémoire, le Radeon supporte aussi bien la SDR SDRAM que la DDR SDRAM. Bien entendu, c´est cette dernière qui sera utilisée sur les cartes haut de gamme. Il est à noter que l´architecture du Radeon est telle que pour des performances optimales, chip graphique et mémoire se doivent de fonctionner à la même fréquence. Etant donné que la DDR 200 Mhz n´est pas encore disponible, on devra donc se contenter d´un Radeon à 166 ou 183 Mhz, selon les cartes.

Passons maintenant aux différentes technologies implémentées dans le Radeon, à savoir l´HyperZ, le Charisma Engine, l´Architecture Pixel Tapestry et Video Immersion.

L´HyperZ

radeon_girl.jpg (18847 octets)Le Radeon se distingue des autres chips en ce qui concerne la gestion mémoire, du fait de l´implémentation d´une technique propriétaire appelée HyperZ. L´HyperZ est en fait une combinaison de 3 techniques destinées à augmenter l´efficacité de la bande passante mémoire. Selon ATI, le gain serait de l´ordre de 20%. Ainsi, avec un jeu ayant une complexité moyenne de 3 (3 niveaux de profondeurs), les capacités de traitement d´un chip doté de mémoire DDR 166 Mhz seraient limités à 443 Mpixel /s ... contre 531 Mpixel /s avec l´HyperZ. Pas mal, mais bon, on fait dire ce que l´on veut aux chiffres.

Pour comprendre comment l´HyperZ arrive à de tels résultats théoriques, il faut se pencher sur les techniques qu´il emploi, à savoir le Hierarchical Z, le Z Compression et Fast Z Clear.

Le Hierachical Z est a peu de chose près au Radeon ce que le Tile est au PowerVR de Videologic. Comme vous le savez, dans une scène 3D, un objet peut être devant un autre, et donc masquer ce dernier. Avec une architecture classique, la carte graphique effectue le rendu de tout les pixels des objets, qu´ils soient masqués ou non, et vérifie ensuite s´ils seront au premier plan ou non grâce au Z-Buffer. Avec le Hierachical Z, le Radeon examine la scène avant d´en effectuer le rendu, afin de définir auparavant les pixels visibles et cachés, ce qui lui permet de ne pas effectuer le rendu sur les pixels cachés.

Le Z-Compression est comme son nom l´indique une méthode de compression des données de profondeur Z. Ces données, codées pour chaque pixel en 16, 24 ou 32 bits, prennent donc moins de place. ATI ne m´a pas indiqué quel était l´algorithme de compression utilisé, toutefois il s´agit d´un algorithme non déstructeur.

Pour finir, le Fast Z Clear. Après chaque rendu d´une image d´une scène 3D, un chip graphique conventionnel efface le Z-Buffer en écrivant une valeur de 0 pour chaque pixel. Avec l´HyperZ, il est possible d´effacer le Z-Buffer sans passer par cet étape, ce qui accélère la remise à 0 de l´HyperZ de 6300%.

Charisma Engine

Pourquoi faire simple quand on peut faire compliquer ? Sous ce nom pour le moins énigmatique ce cache en fait le moteur T&L d´ATI. Enfin non, le moteur TCL, pour Transformation, Clipping et Lighting. Première chose, ce dernier est sur le papier plus puissant que celui de NVIDIA, puisque ATI annonce 30 Millions de triangles par seconde, contre 25 pour le GeForce2. Malheureusement ce chiffre est donné pour une fréquence de 200 Mhz, alors que le Radeon sera plutôt cadencé à 166 ou 183 Mhz selon les cartes. A ces fréquences, le Charisma Engine offre des puissances respectives de 24.9 et 27.45 Millions de triangles par seconde.

Tout comme le T&L de NVIDIA, le TCL d´ATI est géré par DirectX 7 et OpenGL. Les jeux utilisant ces API ont donc la possibilité de l´exploiter, afin de décharger le processeur central des opérations de transformation géométrique et d´éclairage dynamique. Les jeux actuels n´utilisant quasiment pas les éclairages qui sont accélérés par le T&L, ils ne profiteront que de l´accélération du à la prise en charge de la transformation géométrique. En pratique, dans un moteur tel que celui de Quake III, le gain de performances atteint les 35%.

Le Charisma Engine apporte deux innovations par rapport au T&L de NVIDIA. Premièrement, le Vertex Skinning peut se faire avec 4 matrices, contre 2 chez NVIDIA. A titre de rappel, le Vertex Skinning est une méthode que l´on utilise pour les animations squelettique des personnages d´un jeu. Késako ? Le principe est simple : En fait, chaque personnage est définis par un ensemble d´os, chaque os étant bien sur entouré de polygones afin de définir une forme. Pour définir les mouvements du personnage, il ne reste plus qu´a définir les mouvements de ses différents os, les polygones suivant le mouvement selon des matrices de transformations (fonctions mathématiques) prédéfinies. Selon le nombre d´os influant sur la position du polygone, plusieurs matrices de transformation pourront lui être attribuées.

Sans Vertex Skinning, les jointures entre les différents os ne seraient pas parfaites ... il faut donc effectuer une jointure, et c´est le rôle du Vertex Skinning. Dans certains cas (jointure de plusieurs os par exemples), cette jointure sera plus précise si l´ont peut appliquer plus de deux matrices de transformations à un vertex donné.

radeon_4matrix.jpg (19809 octets)

L´autre nouvelle fonction supportée par le Charsima Engine, c´est le Keyframe Interpolation, également connu sous le nom de Vertex Morphing. Cette fonction permet en fait aux développeurs de définir moins précisément leurs animations squelettiques, puisque le Radeon pourra se charger de calculer en Hardware les étapes intermédiaires de l´animation, comme le montre le screenshot ci dessous. Cette fonction est déjà utilisable en OpenGL, mais il faudra attendre DirectX 8 pour que ce soit possible en Direct 3D .... alors que peu de jeux utilisent complètement DirectX 7 !

radeon_keyframeinterpolation.jpg (28518 octets)

Vos réactions

Top articles