Nvidia GeForce GTX 480 & 470

Publié le 26/03/2010 (Mise à jour le 21/04/2010) par
Imprimer
Débit de triangles
Etant donné l'évolution apportée par Nvidia au niveau du traitement de la géométrie, nous nous sommes évidemment penchés de plus près sur le sujet. Tout d'abord nous nous sommes penchés sur les débits de triangles dans deux cas de figure : quand la moitié des triangles sont rejetés par le culling (parce qu'ils tournent le dos à la caméra) et quand ils sont tous rejetés :


La GeForce GTX 480 s'avère ici très rapide et dépasse bien le débit d'un triangle par cycle. Dès qu'il s'agit d'éjecter des triangles du rendu via le culling, aucun autre GPU n'arrive à sa cheville. Bien que restant très performante à ce niveau, la GeForce GTX 470 plus faibles que prévues par rapport à la GeForce GTX 480 puisqu'elles devraient être proportionnelles à la fréquence de leur GPU.

Ensuite nous avons effectué un test similaire mais en utilisant la tessellation. Cet outil de test n'est pas encore finalisé donc il s'agit là de quelques premiers résultats que nous avons obtenus :


D'un côté nous pourrions penser que les débits vont pouvoir approcher le maximum théorique plus facilement que dans le test précédent, mais il faut garder en tête que la tessellation, ou plutôt son contrôle, a un coût qui n'est pas nul. La GeForce écrase ici la Radeon qui semble limitée à un triangle tous les 3 cycles soit un vertex par cycle avec l'obligation de ressortir à chaque fois les 3 vertices d'un triangle. Nous avons ajouté les résultats de la Radeon HD 5770, dont le GPU est cadencé à 850 MHz, comme sur la Radeon HD 5870, pour illustrer cela.

Les GeForce GTX 400 disposent d'une unité de tessellation par SM, soit respectivement 15 et 14 pour les GTX 480 et 470. Nous ne connaissons cependant pas leur débit : 1 triangle tous les 3 cycles ? tous les 6 cycles ?

Nous avons également noté d'énormes gains sur le GF100 lorsque les GPUs doivent charger plusieurs vertices par primitive. Le GF100 continue de tourner à pleine vitesse même s'il doit en charger 2 ou 3 alors que les autres GPUs voient leurs débits chuter puisqu'ils ne peuvent charger qu'un vertex par cycle.


Displacement mapping
Nous avons testé la tessellation avec une démo d'AMD intégrée par Microsoft à son SDK de DirectX. Cette démo permet de comparer le bump mapping, le parallax occlusion mapping (la technique de bump mapping la plus avancée utilisée dans les jeux) et le displacement mapping qui exploite la tessellation.


Le bump mapping basique.


Le parallax occlusion mapping.


Le displacement mapping avec tessellation adaptative.

En créant de la vraie géométrie supplémentaire, le displacement mapping affiche une qualité nettement supérieure. Nous avons activé ici l'algorithme adaptatif qui permet d'éviter de générer de la géométrie inutile et trop de petits triangles qui ne vont pas remplir de quad et donc gâche beaucoup de ressources.

Nous avons également mesuré les performances obtenues avec les différentes techniques :


Il est intéressant de remarquer que la tessellation ne se contente pas d'améliorer la qualité du rendu, mais également les performances ! Le parallax occlusion mapping est en fait très gourmand puisqu'il repose sur un algorithme complexe qui essaye de simuler la géométrie d'une manière réaliste. Malheureusement il génère beaucoup d'aliasing et le trucage est démasqué aux bords des objets ou des surfaces qui l'utilisent.

Notez cependant que dans le cas présent l'algorithme de displacement mapping est bien aidé par le fait qu'il s'agit d'une surface plane à la base. S'il faut lisser les contours de la géométrie et en même temps appliquer le displacement mapping, le coût sera bien entendu plus élevé.

Les GeForce GTX 480 et 470 encaissent ici beaucoup mieux la charge liée à la tessellation que les Radeon HD 5800. L'utilisation d'un algorithme adaptatif qui va réguler le niveau de tessellation suivant les zones qui vont recevoir plus ou moins de détails, suivant la distance ou encore suivant la résolution de l'écran permet dans tous les cas des gains significatifs et sont plus représentatifs de ce que vont faire les développeurs. L'écart entre les GeForce et les Radeon se réduit alors, mais la GeForce GTX 480 conserve une avance significative.
Vos réactions

Top articles