j' avance de mon coté.
Au passage je vais me risquer a donner mon avis (pas de spécialiste des mécanismes de gestion des shaders mais de graphiste en jeu vidéo, habitué a les manipuler) sur l' interet d' un sli/crossfire.
Les tests en général montre le peu d' interet de la chose, sauf en de rare cas comme les 3dmark. Faut bien prendre en compte qu' il y a 4 façons de saturer un/des cartes en données a traiter:
1) Envoyer qqes centaines de shaders simples a traiter.
2) Envoyer qqes centaines de shaders complexes a traiter.
3) Envoyer des milliers de shaders simples a traiter.
4) Envoyer des milliers de shaders complexes a traiter.
Une carte seul va se comporter de façon linéaire dans les 4 cas de figure en baissant de performance de façon classique jusqu' au cas #4, mais deux cartes vont se comporter de façons tres différentes, et pour venir complxifier le shéma les différents mode d' affichages (sissors, AFR, etc) vont en rajouter une couche...
Le mode d' affichage le plus intéressant est le mode AFR qui double virtuellement la puissance graphique. Pourquoi pas les autres modes? les modes sissors et supertiling ne doublent pas la puissance des vertex/pixel shaders units car elles doivent se partager la meme frame donc remplies avec les memes données. Seuls le texturing et le fillrate profitent de ces modes. Le super AA n' a que peu d' interet selon moi vu qu' a partir du 8x il est quasi impossible de voir une différence dans la qualité et les perfs se dégradent tres fortement.
Le mode AFR par contre est une vraie bénédiction: on utilise 6 vertex units et 16 pixels units par carte et par image. On a donc un doublement virtuel (comprenez théorique mais dans la réalité les gains sont entre 75 et 95%) des performances d' affichage. Il en découle un second avantage (qui est evident mais que personne ne semble voir/comprendre de prime abord) chaque gpu a plus de temps pour calculer l' image suivante; il ne s' agit pas de faire travailler ici chaque gpu l' un apres l' autre mais bien de les faire travailler de concert, chaque gpu ayant virtuellement 1 frame de temps en plus pour composer son image; a cette échelle, ce temps est énorme et explique largement le scaling enorme dans 3dmark.
Pourquoi les test de futuremark profitent ils autant de l' apport du sli/crossfire?
Ces tests sont compôsés de shaders tres complexe et tres longs en instructions (plusieurs centaines, a plusieurs milliers) et l' apport d' un second gpu qui aurait deux fois plus de temps pour calculer ces shaders longs est véritablement énorme.
Pourquoi farcry et halflife2 ne profite pas beaucoup (voir pas du tout) du sli/crossfire?
Ces deux jeux sont composés de shaders simples et courts et facilement traités par une seule x850, donc l' apport d' une seconde est négligable; les cartes passent leur temps a se tourner les pouces et c' est le cpu qui est le responsable ici du manque de scaling.
Pourquoi Doom3 est un bon candidat pour le sli/crossfire?
Doom3 a un moteur d' affichage tres classique (héritage opengl) sur lequel est gréffé un ingénieux moteur de découpage d' ombres, ingénieux mais tres tres lourd en traitement car basé sur un principe de lancé de rayon pour tester la scene: plus vous avez d' objets/plygones plus vous le mettez a genoux. L' apport d' un second gpu et ses 6 unités vertex dans ce moteur plus traditionnel est un plus indéniable.
Peux t on en tirer des conclusions pour l' avenir (crysis par exemple)
Certes les x850xt ne sont pas du tout adaptés a des jeux directx 10 et pas non plus pour les jeux utilisant le modele shader 3. Cependant faut bien voir que le modele 3 n' apporte aucun avantage graphique par rapport au modele 2 (a part qu' il est accompagné de la gestion du HDR dans un format spécifique, mais le modele 2 peut aussi gerer des formats HDR comme c' est le cas dans Halflife2 last coast). Le seul interet du modele 3 est une bien meilleur efficacité dans l' écriture du code du shader, éfficacité qui se traduit par des économies de traitement internes, permettant d' écrire des shaders avec moins d' instructions ou des shaders beaucoup plus complexes mais exploitables par les cartes graphiques actuelles (ça ne sert a rien d' écrire un shader de 1 000 000 d'instructions qui mettrait 3 minutes a etre afficher...) Donc pour résumer on peut faire la meme chose en modele 2 et 3 mais on le fera en 60 frames/s en modele 3 alors qu' on obtiendra 40fps en modele 2 sur une meme architecture (c' est un exemple) D' ailleurs c' est une des raisons qui a pousser nvidia a passer tres vite en modele 3, vu l' efficacité d' ati avec le modele 2.
Si on considere que Crytek développera un render path modele 2 pour Crysis on peut esperer qu' un crossfire de x850xt en AFR se comportera pas trop mal vu qu' il aura enfin du grain a moudre (shader long et complexe et 2 fois plus de temps pour le calculer ou la possibilité de calculer des shaders deux fois plus long dans le meme temps).
Evidemment je m' avance la dessus (je ne travaille pas chez Crytek) mais ça semble relativement logique.
Pour finir je vais rappeler les caractéristiques d' un x850xt en crossfire, comparé a une architecture actuelle type x1900
Caractéristiques x850xt crossfire en AFR x1900xt
Vertex engines 2 x 6 (modele 2) 520mhz 8 (modele 3) 625mhz
Pixel shaders engines 2 x 16 (modele 2) 520 mhz 48(modele 3) 625 mhz
Textures Map Units (TMU) 2 x 16 520 mhz 16 625 mhz
Raster Operations Units (ROP) 2 x 16 520 mhz 16 625 mhz
Memory 256mo (scene chargée une fois) 1080 mhz 512mo réels 1450mhz
Memory Bandwidht 2 x 33.7go/s (chaque gpu accede a sa mémoire) 45.3 go/s
EDIT: rappelons le gros avantage des x1000 avec leur controleur mémoire tres intelligent. L' approche x850 est bien plus rustique mais tiens encore la route d' ou un score estimé à 10500 (voir 11000-on sera bientot fixé) à 3dmark05, qui vient sérieusement chatouillé les x1900
Voila pour cette petite rélexion; test tres bientot.
Message édité par vibroboy_fr le 22-09-2006 à 20:58:32