Téléchargez l'application
Tom's Hardware sur l'App Store
Toute l'actu informatique de référence sur votre iPhone
Oui Non

Architecture (suite)

par
Cine FX 3.0

Au niveau des fonctionnalités de ce nouveau chip pas de mauvaise surprise, le NV43 reprend toutes les caractéristiques du NV40. On retrouve donc entre autres l’architecture CineFX 3.0. Sous ce terme nVidia regroupe :

  • les Vertex Shaders 3.0, qui offrent un support des branchements dynamiques et la possibilité d’adresser une texture dans un vertex program
  • les Pixels Shaders 3.0, qui offrent également un support des branchements dynamiques et supprime les limitations des Pixels Shaders 2.0
  • le support complet des textures flottantes avec filtrage et blending des textures au format FP16
Pour plus de détails sur cette architecture nous vous invitons à lire notre dernier comparatif de GPU.

Geometry Instancing

Une des règles de base dans la programmation 3D que nVidia et ATI répètent sans cesse aux programmeurs tient en un mot : « batch ». Ce qui peut se traduire par « regrouper » ou « traiter par lot ».

Il faut en effet savoir que chaque changement d’état de l’API, ou chaque appel à une fonction de tracé implique un coût sur le CPU et demande une synchronisation CPU/GPU qui brise le parallélisme. Dans ce genre de situations il est très courant de se retrouver limité par le CPU. Par conséquent regrouper le maximum de primitives partageant des attributs identiques et les afficher avec un seul appel à une fonction de tracé est un gain très important de performance. Une façon très simple de s’en rendre compte consiste à passer d’un affichage en mode immédiat en dessinant chaque primitive indépendamment, à un affichage regroupant toutes les primitives dans un tableau de sommets et les affichant avec une seule fonction de tracé.

Prenons un exemple pratique : vous avez bien retenu la leçon précédente et vous avez donc placé le modèle 3D d’un arbre dans un tableau de sommets. Maintenant vous souhaitez dessiner une forêt. La façon de s’y prendre consiste à placer votre arbre et à l’orienter comme vous le souhaitez, lancer un premier appel à la fonction de tracé, se déplacer changer l’orientation (pour éviter que vos arbres soient alignés de façon totalement irréaliste) lancer un deuxième appel à la fonction de tracé et ainsi de suite… Si le modèle d’arbre utilise un petit nombre de triangles (de l’ordre de quelques centaines) alors le rendu est entièrement limité par le CPU qui doit traiter tous les appels aux fonctions de tracé et les changements d’état de l’API (le changement de position et d’orientation).

Oui mais comment faire autrement ? Une solution consiste à ne plus stocker un modèle de l’arbre dans son repère local (espace objet) mais tous les modèles des arbres constituant la forêt dans le repère global (espace monde). Ainsi il n’y a plus besoin de se déplacer et de changer l’orientation avant de renvoyer la géométrie d’un arbre, on peut dessiner la forêt avec un seul appel. Le problème de cette solution est qu’elle demande de répliquer le modèle autant de fois qu’il y a d’arbres et qu’elle sature donc la mémoire vidéo de façon inutile vu qu’il s’agit de la même géométrie positionnée à plusieurs endroits. Pas très satisfaisant…

Jusqu’à présent il n’y avait pas d’autres solutions pour ce genre de situations, mais le Geometry Instancing a justement été créé pour répondre à ce besoin. Comment ? Tout simplement en déplaçant le travail du CPU au GPU. Ainsi au lieu de passer au GPU uniquement un flux de sommets et de lui spécifier un ensemble d’états et d’attributs pour ce flux, le programmeur peut spécifier deux flux : le premier contient toujours les données de chaque sommet et le deuxième contient les données variant pour chaque instance.

Si l’on reprend notre exemple précédent, le flux 0 contiendrait les sommets de notre modèle d’arbre, et le flux 1 contiendrait les matrices permettant de changer la position et l’orientation de chaque instance de l’arbre. Ainsi il devient possible de rendre toute la forêt avec un seul appel à la fonction de tracé et sans dupliquer les sommets !

Il faut toutefois garder à l’esprit que cette technique a un surcoût pour le GPU et que son intérêt décroît au fur et à mesure que le nombre de sommets envoyé à chaque appel à la fonction de tracé augmente. Ainsi au delà de 1000 polygones par modèle le Geometry Instancing n’a plus aucun intérêt.

Pour finir avec le Geometry Instancing j’aimerais revenir sur un dernier point qui a suscité bien des confusions dernièrement. Initialement présentée par nVidia comme étant liée aux Vertex Shaders 3.0, il s’est avéré qu’en fait les puces ATI étaient également capables de faire du Geometry Instancing, et ce depuis le R300 ! En pratique les choses sont plus compliquées et pour l’instant ATI ne peut exposer son support du Geometry Instancing que par le biais d’une astuce, tout simplement parce que Microsoft ne souhaite pas que cette fonctionnalité soit exposée par des puces ne gérant pas le Shader Model 3.0. Il est difficile de trouver une justification à la firme de Redmond dans cette affaire, le Geometry Instancing étant entièrement décorellé du Shader Model.

Il est vrai que le support variable des fonctionnalités par les différentes puces dans le passé à quelque peu nuit à leur utilisation et par conséquent définir une base claire et saine pour les puces supportant le Shader Model 3.0 est une bonne chose. Mais s’il est logique et compréhensible de forcer les puces se revendiquant compatibles avec le Shader Model 3.0 à supporter le Geometry Instancing, il est en revanche déplorable d’empêcher les puces de la génération précédente qui supportent cette technologie de l’exposer.

Ultra Shadow 2.0

Le NV43 bénéficie aussi de l’Ultra Shadow 2.0, là encore derrière ce terme marketing pompeux on retrouve en fait des fonctionnalités désormais bien connues depuis la GeForce FX. Comme son nom l’indique cette technologie, qui regroupe en fait 3 techniques bien distinctes, a pour but d’accélérer les calculs des ombres lors de l’utilisation de l’algorithme des volumes d’ombre comme c’est le cas dans Doom III.

Pour bien comprendre le fonctionnement de cette technologie nous allons d’abord faire un rapide rappel de l’algorithme des volumes d’ombre. Considérons un objet et une source lumineuse, le volume d’ombre associé est défini par les lignes partant de la source lumineuse et passant par les sommets situés sur la silhouette de l’objet du point de vue de la lumière.

L’algorithme des volumes d’ombre consiste tout d’abord à déterminer la silhouette d’un objet de la scène, à générer une extrusion de cette surface pour déterminer le volume d’ombre de cet objet associé à cette source lumineuse. Une fois ce calcul effectué, la scène est rendue en 3 passes pour déterminer les pixels dans l’ombre :

  • Passe 1 : la première passe rend la scène de façon classique le stencil buffer étant initialisé à 0. Puis les écritures dans le frame buffer sont désactivées.
  • Passe 2 : les faces avant du volume d’ombre sont rendues en incrémentant le stencil buffer lorsqu’elles passent le test Z (elles sont « devant » l’objet)
  • Passe 3 : Les faces arrière du volume d’ombre sont rendues en décrémentant le stencil buffer lorsqu’elles passent le test Z.
On remarque que si l’objet est situé devant ou derrière le volume d’ombre, sa valeur stencil est de zéro. A l’inverse elle vaudra 1 s’il est dans le volume d’ombre, il ne reste donc plus qu’à effectuer les calculs d’éclairage pour tous les pixels ayant une valeur de 0 dans le stencil buffer. Voilà pour le rappel théorique, voyons maintenant comment l’Ultra Shadow permet d’améliorer les performances dans ce genre de situations.

La première chose que l’on remarque c’est qu’il faut faire une distinction dans le traitement des faces avant (incrémentation du stencil) et des faces arrière (décrémentation du stencil). Comme on ne peut spécifier qu’une seule opération au stencil buffer cela oblige donc à effectuer deux passes en distinguant les faces avant des faces arrière. Pour éviter cela nVidia (et ATI aussi vu que ses cartes disposent depuis le R300 d’une fonctionnalité similaire) permet de spécifier deux opérations distinctes selon que les faces traitées soient des faces avants ou arrière ce qui permet de regrouper les passes 2 et 3 en une seule passe.

La deuxième technique est désormais bien connue vu qu’elle a générée beaucoup de confusions dans la compréhension des architectures de nVidia : elle consiste à permettre à une puce à doubler son fillrate lorsque les écritures dans le frame buffer sont désactivées et que les textures ne sont pas utilisées, comme c’est le cas lors des passes de rendu du volume d’ombre. Ainsi le NV43 peut traiter dans ce genre de situations jusqu’à 8 « zixels » par cycle d’horloge.

Enfin la 3ème technique, apparue avec le NV35 permet de définir un test supplémentaire indiquant si le pixel considéré entre dans les bornes définies par le programmeur. En pratique, lors du rendu du volume d’ombre cela permet de rejeter trivialement et tôt dans le pipeline les pixels qui ne peuvent pas être influencés par le volume d’ombre. On évite ainsi des opérations inutiles sur le stencil buffer. Il faut toutefois noter que cette fonctionnalité n’est pour l’instant exposé que par le biais d’une extension OpenGL : GL_EXT_depth_bounds_test qui n’est pas accessible avec l’API DirectX.

Conclusion

Avant même la présentation officielle du NV40, Jen-Hsun Huang, le CEO de nVidia, l’avait annoncé : la famille NV4x avait été conçue en ayant plusieurs objectifs en tête. Plus de programmabilité, plus de performance, tirer profit du PCI Express, avoir de meilleur yields (taux de rendement), et être extrêmement et facilement modulable, voila le cahier des charges qu’il avait été demandé de remplir aux ingénieurs responsables de l’architecture.

Le premier représentant de la gamme, le NV40, nous avait permis de constater qu’en ce qui concerne les deux premiers points les ingénieurs avaient atteints leur but. Le NV43 quant à lui nous confirme que le dernier objectif est également rempli, c’est en effet la première fois que nVidia est en mesure de nous présenter un dérivé milieu de gamme si rapidement après l’annonce de son chip haut de gamme. Après les errements de la génération précédente, force est donc de constater que nVidia s’est superbement ressaisi avec cette génération en offrant une gamme cohérente et performante à des tarifs compétitifs.

Partager:
33
Commentaires
X
Valider

Commentaires
Lire les commentaires sur le forum
fractal 07/09/2004 15:20
Masquer
-0+

ça confirme les preview, dès que ça sort je m'achète un nouveau pc pour aller avec :d

bidoulou 07/09/2004 15:24
Masquer
-0+

Il y a du monde qui l'attendait :D


J'ai survolé le test (très complet :jap:) mais si je dois investir dans une carte prochainement, mon choix est fait :D

On va quand même attendre la réponse d'ati...

Je n'ai pas vu si elle sort en version agp ?

fractal 07/09/2004 15:32
Masquer
-0+

si elle sortiront en octobre officiellement (donc novembre d'après hfr)
moi j'attend meme pas les x700, c'est trop long

Marc 07/09/2004 16:00
Masquer
-0+

Salut

Pour info les 65.76 fonctionne parfaitement chez moi avec une 5900, il faut tout simplement modifier l'INF pour qu'elle soit dans la liste des cartes supportées.

nuts 07/09/2004 16:43
Masquer
-0+

Bravo pour le test, complet et abordable, ça m'a permis de renouer avec certaines nouveautés ;)

Florian c 07/09/2004 16:51
Masquer
-0+

Marc a écrit :

Salut

Pour info les 65.76 fonctionne parfaitement chez moi avec une 5900, il faut tout simplement modifier l'INF pour qu'elle soit dans la liste des cartes supportées.


Arf, bizarre qu'elle soit pas dans la liste alors. A piori de toute facon ca ne change strictement rien...

patataq 07/09/2004 17:52
Masquer
-0+

Ca aurait été intéressant de faire un test avec un plus vieux moteur graphique pour voir en pratique quelle est l'influence du choix technologique qu'ils ont fait avec ce ratio fillrate/bande passante atypique.

Et bvo pour le test ossi :jap:

Florian c 07/09/2004 17:58
Masquer
-0+

patataq a écrit :

Ca aurait été intéressant de faire un test avec un plus vieux moteur graphique pour voir en pratique quelle est l'influence du choix technologique qu'ils ont fait avec ce ratio fillrate/bande passante atypique.

Et bvo pour le test ossi :jap:


En fait on tient à bien distinguer les jeux des tests synthétiques, au niveau des jeux cela n'aurait clairement pas eut sa place dans notre protocole mais ca aurait été intéressant de le rajouter au niveau des tests ouais, bien que sur les vieux t'es surtout limité par le CPU donc pas très intéressant. Mais en gros sur les vieux jeux la 6600 GTsera moins à son aise que sur les nouveaux.

bidoulou 07/09/2004 18:05
Masquer
-0+

Florian c a écrit :

En fait on tient à bien distinguer les jeux des tests synthétiques, au niveau des jeux cela n'aurait clairement pas eut sa place dans notre protocole mais ca aurait été intéressant de le rajouter au niveau des tests ouais, bien que sur les vieux t'es surtout limité par le CPU donc pas très intéressant. Mais en gros sur les vieux jeux la 6600 GTsera moins à son aise que sur les nouveaux.




Moins à son aise à 200 img/s cela reste quand même très relatif :D

Florian c 07/09/2004 18:34
Masquer
-0+

voila, c'est ca le truc. ;) Moins à son aise par rapport aux cartes traditionnelles.

Marc 07/09/2004 18:40
Masquer
-0+

Florian c a écrit :

Arf, bizarre qu'elle soit pas dans la liste alors. A piori de toute facon ca ne change strictement rien...


Je ne sait pas je n'ai pas comparé ces drivers sur GeForce FX, si tu le dis, tant mieux :)

Pour la liste à mon avis c'est juste parce que ce sont des drivers filés par NV. Peut être qu'ils ne veulent plus entendre parler du GeForce FX :D

Il me semble que sur ceux qui trainent sur le net les FX sont intégrées.

xav14 07/09/2004 18:44
Masquer
-0+

c'est bien foutu, mais les caps, ça serait bien de les mettre en 1600x1200, histoire de voir ce que ça donne.

Monstro 07/09/2004 18:50
Masquer
-0+

superbe test , 6600 GT : grandiose.

NiahBoumPof is back 07/09/2004 19:14
Masquer
-0+

je suis le seul a venir couiner quand a l'absence de comparaison avec la carte du moment: la 9800Pro ?

gg53 07/09/2004 19:21
Masquer
-0+

NON! :fou:

bidoulou 07/09/2004 19:26
Masquer
-0+

NiahBoumPof is back a écrit :

je suis le seul a venir couiner quand a l'absence de comparaison avec la carte du moment: la 9800Pro ?




Tu connais les perfs de la 5900XT par rapport à la 9800 pro, suffit d'extrapoler :D

NiahBoumPof is back 07/09/2004 19:27
Masquer
-0+

bidoulou a écrit :

Tu connais les perfs de la 5900XT par rapport à la 9800 pro, suffit d'extrapoler :D



tu parles que tu peux extrapoler avec 3cartes connues :o
c'est pas parce que Z>V et Z>W et que X>V que X>W

gg53 07/09/2004 19:28
Masquer
-0+

C'est drole la difference de puissance brute et celle dans un jeu est tres réduite...
OUI ma phrase doit avoir un sens! :o

gg53 07/09/2004 19:34
Masquer
-0+

N'y a-t-il pas tromperie sur la marchandise si le fillrate est de 1900 MTextels au lieu des 4000 annoncés?

Florian c 07/09/2004 20:18
Masquer
-0+

NiahBoumPof is back a écrit :

je suis le seul a venir couiner quand a l'absence de comparaison avec la carte du moment: la 9800Pro ?


Ouais, on s'est plus penchés sur l'archi et la comparaison avec l'ancien milieu de gamme nVIdia et ATI. Le principale problème est d'ordre technique, la 9800 Pro est pas dispo sur PCI Express, donc il fallait mettre en place une plateforme AGP, vérifier que tous les résultats sont indépendants de la plateforme différente donc (y compris les tests synthétiques assez sensibles), et laisser tomber les tests synthétiques ou les screenshots pour chaque jeu vu le temps impartit. On a donc fait un choix ouais.

Florian c 07/09/2004 20:21
Masquer
-0+

Altephkat a écrit :

N'y a-t-il pas tromperie sur la marchandise si le fillrate est de 1900 MTextels au lieu des 4000 annoncés?


nVidia n'a pas annoncé officiellement le fillrate, nous l'avons calculé à partir de l'archi(fréquence, nbre de pipes et nbre de Texture Sampling). Il y aurait tromperie si il n'y avait que 4 pipes et 2 textures sampling, mais ce n'est pas le cas.

Antar 07/09/2004 21:07
Masquer
-0+

NiahBoumPof is back a écrit :

je suis le seul a venir couiner quand a l'absence de comparaison avec la carte du moment: la 9800Pro ?




Même le test de CLubic a fait l'impasse sur la 9800 Pro... Carte pourtant qui est le meilleur rapport qualité/prix du moment. Nvidia aurait-il donner quelques consignes ? [:dawa']

NiahBoumPof is back 07/09/2004 21:13
Masquer
-0+

Florian c a écrit :

Ouais, on s'est plus penchés sur l'archi et la comparaison avec l'ancien milieu de gamme nVIdia et ATI. Le principale problème est d'ordre technique, la 9800 Pro est pas dispo sur PCI Express, donc il fallait mettre en place une plateforme AGP, vérifier que tous les résultats sont indépendants de la plateforme différente donc (y compris les tests synthétiques assez sensibles), et laisser tomber les tests synthétiques ou les screenshots pour chaque jeu vu le temps impartit. On a donc fait un choix ouais.



qu'est ce que la plate forme a a voir la dedans :??: deja le PCIE est loin d'etre la norme d'aujourd'hui, l'agp a encore une bonne année devant lui voire plus. Qui aurait interet a s'acheter une carte pcie si ca implique de changer de mobo et donc de processeur :o (seul le LGA775 dispose de PCIE actuellement, peut etre les nouvelles plateforme S939 vont le gerer mais vu le prix des processeurs ca ne sera pas pour tout de suite ou alors pour les friqués auquel cas je les vois mal se contenter d'une CG milieu de gamme :/)

desolé de ma critique mais je trouve que l'absence de 9800Pro pour comparer rend le test presque ininterressant. Ouais bon on a vu ce que ca donnait par rapport au milieu de gamme qui paraiterait il commence a etre depassé et on a vu ce que ca donnait face au super haut de gamme actuel.

Proph@ne 07/09/2004 21:41
Masquer
-0+

9800 pro c'est depassé de toute facon... l'architecture a plus de 2 ans... [:djoce]

fuful 07/09/2004 22:28
Masquer
-0+

Perso je l'attendais pour car j'esperais beaucoup de cette carte, bah du coup je crois que je vais aller me prendre une 6800 cette semaine.
C'est certes un peu moins (la 6600 GT par rapport à la 6800 standard), mais c'est aussi un peu moins performant, donc c'est logique.
Et puis ca ne sort que dans deux mois, je prefere dépenser 50€ de plus aujourd'hui. Surtout que depuis que j'ai vu une X800 Pro tourner ce week end, ma vielle GeForce 4, je commence à la regarder de travers...
Avis perso, ca n'engage que moi.

Florian c 07/09/2004 22:52
Masquer
-0+

NiahBoumPof is back a écrit :

qu'est ce que la plate forme a a voir la dedans :??: deja le PCIE est loin d'etre la norme d'aujourd'hui, l'agp a encore une bonne année devant lui voire plus. Qui aurait interet a s'acheter une carte pcie si ca implique de changer de mobo et donc de processeur :o (seul le LGA775 dispose de PCIE actuellement, peut etre les nouvelles plateforme S939 vont le gerer mais vu le prix des processeurs ca ne sera pas pour tout de suite ou alors pour les friqués auquel cas je les vois mal se contenter d'une CG milieu de gamme :/)

desolé de ma critique mais je trouve que l'absence de 9800Pro pour comparer rend le test presque ininterressant. Ouais bon on a vu ce que ca donnait par rapport au milieu de gamme qui paraiterait il commence a etre depassé et on a vu ce que ca donnait face au super haut de gamme actuel.


T'as rien compris : GeForce 6600 aujourd'hui = PCI Express => la 9800 Pro elle rentre pas dans le port PCI Express de la D925 de test :heink:

Désolé mais en 6 jours c'était pas jouable pour nous de rajouter une plateforme AGP avec donc un 9800 Pro, et de rajouter tous les tests qu'il fallait. Ce que tu captes pas c'est que cette carte se destine au milieu de gamme, et que donc elle remplace les milieux de gamme de l'ancienne génération, représentés ici par la X600 XT chez ATI et la 5900 XT chez nVidia, avec la présence de la 6800 GT comme point de comparaison par rapport au nouveau haut de gamme nVidia. Oui, l'ajout de la 9800 Pro aurait été un plus mais absolument impossible pour ce test.

D@rKF@LC0N 07/09/2004 22:57
Masquer
-0+

proph@ne a écrit :

9800 pro c'est depassé de toute facon... l'architecture a plus de 2 ans... [:djoce]




Dela a dire qu'elle est completement depassée [:spamafote]

thral 07/09/2004 23:11
Masquer
-0+

L'architecture est loin d'etre dépassé (surtout par rapport aux fx) D'ailleurs je suis surpris de voir que dans certains test la x600 domine la 5900xt. Et plus les jeux vont utiliser directX 9 plus on verra ce cas de figure.

Neanmoins la 6600GT rattrape bien le milieu de gamme nvidia. On attend la x700 pour la comparaison.
Bon test en tous cas ;)

Antar 07/09/2004 23:50
Masquer
-0+

Florian c a écrit :

T'as rien compris : GeForce 6600 aujourd'hui = PCI Express => la 9800 Pro elle rentre pas dans le port PCI Express de la D925 de test :heink:

Désolé mais en 6 jours c'était pas jouable pour nous de rajouter une plateforme AGP avec donc un 9800 Pro, et de rajouter tous les tests qu'il fallait. Ce que tu captes pas c'est que cette carte se destine au milieu de gamme, et que donc elle remplace les milieux de gamme de l'ancienne génération, représentés ici par la X600 XT chez ATI et la 5900 XT chez nVidia, avec la présence de la 6800 GT comme point de comparaison par rapport au nouveau haut de gamme nVidia. Oui, l'ajout de la 9800 Pro aurait été un plus mais absolument impossible pour ce test.




C'est donc un test exclusivement PCI-E. Perso je pensais que la 5900XT était en AGP, d'ou mon interrogation [:spamafote]

Florian c 07/09/2004 23:58
Masquer
-0+

Cf le début de la page "Performances synthétiques" :o

Les offres du moment

Newsletters


OK