Techno : GeForce FX

Publié le 18/11/2002 par
Imprimer
NVIDIA Cine FX
Jusqu'alors, nous avons abordé le GeForce FX comme un GPU d'ancienne génération, sans vraiment nous intéresser à sa programmabilité. Pourtant, c'est bien cet aspect regroupé sous le terme Cine FX qui est le plus mis en avant par NVIDIA ... et pour cause !

En effet, selon les dires de NVIDIA, le GeForce FX est actuellement le GPU offrant la plus grande flexibilité et les meilleures performances pour tout ce qui touche aux shaders. Il va même au-delà des spécifications de base des Vertex et Pixel Shaders 2.0 de DirectX 9.0, puisque NVIDIA appelle ceux-ci des "2.0+".


En ce qui concerne les Vertex Shaders tout d'abord, comme vous pouvez le voir les spécifications de bases restent identiques, c'est-à-dire 256 instructions. Toutefois, NVIDIA annonce que sur le GeForce FX les shaders peuvent utiliser plus de registres et utiliser jusqu'à 256 boucles, contre 4 pour le Radeon 9700, ce qui nous donne au maximum 256x256 = un shader pouvant exécuter 65536 instructions.

Contacté par nos soins, ATI nous a toutefois indiqué que le Radeon 9700 Pro était en fait également capable de traiter jusqu'à 65536 instructions dans un vertex shader utilisant des boucles et des branchements. Reste à NVIDIA l'avantage du nombre de registres utilisables ainsi que l'utilisation possible de sous-routines.


En fait, l'avantage semble vraiment tourner en faveur de NVIDIA lorsque l'on s'intéresse aux Pixel Shader. En effet, le GeForce FX est capable de traiter en une passe des shaders pouvant intégrer jusqu'à 1024 instructions de textures et 1024 instructions de couleurs, rien que cela. Reste que pouvoir effectuer un shader plus long en une passe ne veut pas dire qu'il est effectué en un cycle d'horloge !

Ainsi, pouvoir effectuer en une passe un shader de 2048 instructions ne signifie pas que l'on traite ce genre de données 21x plus rapidement qu'une architecture DX9 classique ! D'ailleurs, cela ne signifie pas non plus que les effets gérés par ce type de shaders ne peuvent pas être effectués sur une autre architecture : il faudra tout simplement effectuer un rendu de type multi-pass, qui est certes moins efficace.

De plus la vitesse de traitement des shader n'a rien à voir avec leur longueur, puisqu'elle est de 32 instructions par cycle pour le GeForce FX contre 24 pour le Radeon 9700 Pro. Etant donné que le GeForce FX devrait être cadencé 50% plus rapidement que le R9700 Pro, on peut donc conclure qu'il sera deux fois plus rapide pour traiter les shaders.


Passons maintenant au dernier point de DirectX 9.0, à savoir la précision des données, qui est une des grosses nouveautés de DirectX 9.0. En effet, alors que l'on travaillait auparavant avec des entiers codés sur 32 bits, il sera désormais possible d'avoir une précision de 128 bits et des nombres réels (à virgule donc), ce qui permet d'éviter les pertes de précision lors de multiples calculs internes.

Le GeForce FX va encore une fois plus loin que le Radeon 9700 dans ce domaine. Plus flexible, il permet selon le type d'utilisation que vous allez faire de votre GeForce FX (professionnelle ou ludique) d'utiliser un mode 128, 64 ou 32 bits. Le Radeon 9700 doit pour sa part faire tout ses calculs en interne en 96 bits (24 bits pour R, G, B et A), même si il peut écrire le résultat final dans tous les formats réels de DX9 (32, 64 ou 128 bits). Les calculs seront donc moins précis dans les applications professionnelles qui nécessiteront du 128 bits, et plus lents dans les jeux qui se contentent très bien d'un 32 voir d'un 64 bits en virgule flottante.

Pour ceux qui sont friands de screenshot, sachez que vous pouvez downloader ici (7 Mo - lien temporairement retiré suite à une surcharge de la bande passante) les captures (et explications) de jeux / démos censés exploités le GeForce FX qui ont été mises à disposition par NVIDIA à la presse.
Vos réactions

Top articles