Nvidia GeForce GTX 580 & SLI

Publié le 09/11/2010 (Mise à jour le 25/11/2010) par
Imprimer
Débit de triangles
Etant donné les différences architecturales des différentes GPUs 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 avons observé les débits de triangles dans deux cas de figure : quand tous les triangles sont affichés et quand ils sont tous rejetés (parce qu’ils tournent le dos à la caméra) :


La GeForce GTX 580 est ici très performante et devance la GeForce GTX 480 de 30% lorsque les triangles sont rendus alors que théoriquement le gain aurait dû se situer entre 10 et 18%. Etant donné que les GeForces sont limitées artificiellement à ce niveau par rapport aux Quadros nous supposons donc que Nvidia a ici laissé un peu plus d’espace au GF110 par rapport au GF100, introduisant du coup une différence artificielle entre ces 2 révisions du GPU.

Dès qu’il s’agit d’éjecter des triangles du rendu via le culling, aucune Radeon n’arrive à la cheville des GeForces haut de gamme.

Ensuite nous avons effectué un test similaire mais en utilisant la tessellation :


L’avantage des GeForces sur les Radeons est ici évident. AMD et Nvidia ont des approches très différentes et les GeForces affichent un débit qui varie suivant le nombre d’unités de traitement de la carte alors qu’il ne varie qui suivant la fréquence pour les Radeons.

L’architecture de ces dernières fait qu’elles sont rapidement engorgées par la quantité de données générées, ce qui réduit drastiquement leur débit dans ce cas. Le doublement de la taille du buffer dédié à l’unité de tessellation dans le GPU des Radeon HD 6800 leur permet d’être significativement plus performantes que les Radeon HD 5800, sans toutefois pouvoir rivaliser avec les GeForces.

Etrangement, la GeForce GTX 580 n’affiche qu’un gain très faible sur la GeForce GTX 480 et est même moins performante dans ce test lorsque les triangles sont éjectés du rendu via culling. Nous supposons que cela est lié à une configuration logicielle différente qui favorise certains cas (les plus importants probablement) mais peu entraîner une baisse dans d’autres, nous avions déjà pu observer cela avec certains profils des Quadros.


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 par rapport à la distance qui permet d’éviter de générer de la géométrie inutile et trop de petits triangles qui ne vont pas remplir un quad, la zone de rendu minimale sur tous les GPUs et donc gâcher beaucoup de puissance de calcul.

Nous avons 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 vite 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 encaissent ici beaucoup mieux la charge liée à la tessellation que les Radeon, bien que la série 6800 affiche un gain conséquent. 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, et ces dernières passent même devant dans certains cas.
Vos réactions

Top articles