le vendredi 28 décembre 2012

Cartes graphiques et jeu vidéo : le glossaire

Avant de rentrer dans le vif des définitions, prenons un peu de temps pour rappeler le fonctionnement d'une carte graphique, afin de mettre en situation quelques-uns des termes présents dans les pages suivantes et en faciliter ainsi la compréhension générale.

Si lancer un jeu est une opération anodine pour de nombreuses personnes, c'est en revanche un véritable branle-bas de combat pour le PC en charge de l'opération. Le programme exécuté commence par installer un maximum de données dans la mémoire vive du PC, afin d'en accélérer le traitement. Le processeur prend sa charge de travail (gestion du clavier, de la souris, des intelligences artificielles...) tout en déléguant au GPU, grâce au pilote graphique, la majorité des calculs qui concernent le rendu des scènes 3D.

Les données concernées transitent alors de la RAM jusqu'à la carte graphique, via le port PCI-Express (ou AGP pour les machines plus anciennes). Elles sont alors stockées dans la mémoire vive de la carte graphique, communément appelée VRAM, qui remplit un rôle similaire à celui de la mémoire vive du PC, mais à l'échelle de la carte graphique.

Carte graphique Asus GPU


Autrement dit, le GPU lit et écrit dans cette mémoire au fil des calculs qu'il réalise. Quel que soit le framerate du jeu, la carte graphique doit créer image par image tout ce qui est affiché à l'écran. Pour chacune de ces images, le processus commence par le placement des différents objets 3D dans la scène, leur éclairage, et l'application d'éventuels Vertex Shaders. Des algorithmes d'élimination des faces cachées sont ensuite utilisés de façon à limiter les calculs inutiles ou redondants (il ne sert à rien par exemple de calculer le rendu d'un élément de décor s'il est masqué par un autre objet de la scène).

Les objets situés hors du champ de vision ou derrière d'autres objets ne sont donc plus pris en compte ; de même pour les faces non visibles depuis le point de vue de la caméra virtuelle. Dans le cadre de DirectX 10 ou 11, des Geometry Shaders sont alors susceptibles d'enrichir le nombre de polygones en certains endroits. Le rendu de l'image se termine enfin par le placage de textures, complété éventuellement par l'usage de Pixel Shaders et de différents filtres (anti-aliasing, anisotropic filtering...).


Le matériel est sacrément mis à contribution quand il s'agit de calculer ce genre d'images 60 fois par seconde.


L'image ainsi complétée est alors renvoyée dans la VRAM, plus précisément dans le Frame Buffer, avant d'être affichée sur l'écran via l'interface DisplayPort, DVI ou HDMI. Si tout ce processus est totalement transparent pour l'utilisateur, ce dernier intervient tout de même sur son déroulement à chaque fois qu'il modifie une des options graphiques accessibles dans le jeu. En modifiant le FOV, en choisissant telle ou telle méthode d'occultation ambiante ou encore en activant l'anti-aliasing, le joueur modifie sensiblement la nature et la quantité des calculs effectués par le GPU, ce qui explique les gains ou pertes de framerate qui peuvent découler de ces opérations.
Commentaires
Chargement des commentaires...
( les afficher maintenant )