Geometry Instancing : ATI aussi

Publié le 26/07/2004 à 01:46 par
Imprimer

Le Geometry Instancing est une technologie qui permet d'accélérer certains éléments du rendu 3D en regroupant ensemble plusieurs commandes de rendu d'éléments simples. Par exemple, au lieu d'envoyer une commande pour chaque brindille d'herbe, il est possible de n'en envoyer qu'une grosse et de laisser le GPU la décomposer. Cela ne réduit pas le travail du GPU, mais bien celui du CPU qui perd parfois un temps bête à envoyer toutes ces commandes.

Microsoft a introduit le Geometry Instancing dans DirectX avec le Shader Model 3.0 et plus particulièrement avec les Vertex Shader 3.0. Cela signifie que tout GPU qui supporte les Vertex Shader 3.0 supporte obligatoirement le Geometry Instancing. Cependant la réciproque n'est pas toujours vraie étant donné que le Geometry Instancing n'a absolument rien avoir avec une quelconque version des shaders. Ce lien entre Geometry Instancing et Vertex Shader 3.0 est principalement lié à une volonté de Microsoft de ne pas multiplier les caps (qui sont des indications sur les GPUs reportées via les drivers). Plus de caps amène plus de flexibilité mais également plus de combinaisons possibles de technologies supportées ce qui peut compliquer la tâche des développeurs. Ceci dit, dans ce cas, étant donné l'absence totale de lien entre Geometry Instancing et Vertex Shader 3.0, cela n'aurait pas été un luxe d'avoir un caps dédié.

D'autant plus qu'ATI supporte également le Geometry Instancing bien que n'en ayant pas parlé jusqu'ici. DirectX ne permettant pas à l'origine à un GPU non-SM3.0 d'exploiter le Geometry Instancing, ATI doit utiliser une astuce pour exposer son support via ses drivers. Bien que la solution ne soit pas des plus élégantes, c'est la seule possible dans DirectX et elle fonctionne. DriverHeaven  et ToMMTi-Systems  ont eu accès à des Catalyst 4.8 beta qui intègrent le support du Geometry Instancing et en ont profité pour tester la démo de NVIDIA destinée à mettre en avant cette technologie des GeForce 6800 :

GeForce 6800 Ultra, Instancing OFF : 3 FPS
GeForce 6800 Ultra, Instancing ON : 47 FPS
Radeon X800 XT PE, Instancing OFF : 4 FPS
Radeon X800 XT PE, Instancing ON : 50 FPS


Ces résultats montrent que la technologie fonctionne bien sur les 2 GPU et offre des gains similaires. Les Radeon X800 pourront donc également profiter de cette optimisation dans FarCry comme nous vous l'indiquions ici. Mais ce n'est pas tout car ATI n'oublie pas les utilisateurs de Radeon 9500, 9600, 9700 et 9800 et ces GPU supporteront également le Geometry Instancing. Il faudra attendre de prochains drivers, mais également DirectX 9.0c pour bénéficier de ce support.

Vos réactions

Top articles