Les cartes 3D sous Linux : Influence du SMP sur les performances

     Vous n'êtes pas sans avoir remarqué que mes machines étaient toutes les 2 bi processeur (la première par choix, la seconde par récupération :-). Si ce type de configuration fournit un confort d'utilisation incomparable sur un poste de travail (quoi qu'on fasse, la machine donne l'impression de ne jamais ralentir et d'être complètement insensible à la charge), qu'apportent 2 processeurs pour la 3D, sachant qu'aucune des applications testées et aucun driver n'a été conçu pour tirer parti de ce genre de machine ?

     Pour réaliser ces tests, j'ai recompilé les noyaux Linux en retirant le support du SMP (SMP = Symetric Multi Processing = multi processeur). Dans ce cas, le 2ème processeur n'est pas vu et pas utilisé au boot. J'aurais pu enlever un des processeurs et redémarrer avec le noyau habituel mais un noyau compilé avec le support du SMP est théoriquement un peu plus lent sur une machine mono processeur. J'ai donc évité cette configuration.



Aie, avec Quake III, la machine SMP va plus lentement que la même machine avec un processeur de moins ! Pourquoi ? Il semble en fait que la synchronisation entre les processeurs ralentisse le temps CPU utilisable... La chose curieuse est que le même test réalisé avec Utah-GLX ne révèle aucune différence entre 1 et 2 processeurs. Le driver NVidia a donc visiblement encore des progrès à faire de ce côté !

Encore une fois, vers les hautes résolutions, la bande passante de la mémoire vidéo reprend le dessus. La puissance CPU disponible devient secondaire à partir de 1280x1024.




De plus en plus étonnant : avec Unreal, c'est le contraire ! La machine SMP est (légèrement) plus rapide ! En examinant les process avec top pendant le déroulement de la démo, on se rend compte qu'Unreal en utilise plusieurs. 2 utilisent effectivement du temps processeur : l'un consomme 100 % et l'autre environ 10 à 15 %. Ce qu'on perd avec le driver semble être compensé par une application tirant parti des 2 processeurs ! Curieusement, Utah-GLX qui semblait bien se comporter en SMP ne présente pas de meilleurs gains...


     Au bilan : si vous souhaitez vous fabriquer la machine Linux ultime uniquement pour la 3D ou le jeu, à moins de développer une application exploitant spécifiquement plusieurs processeurs, faites l'impasse sur ce type de configuration ! Mieux vaut investir son argent dans une plus grosse carte 3D ou un plus gros processeur !


Page suivante : Conclusion

Table des matières :

Projet Mesa 3D Projet Utah-GLX DRI pour XFree86 Site officiel OpenGL Drivers Linux Nvidia