Lorsque vous utilisez votre PC pour surfer, travailler, les applications s’affichent à l’écran.
Pour les joueurs et gamers, l’affichage et notamment la vitesse de l’affichage est un élément important pour plus de confort ou réalisme.
Mais savez vous comment cela fonctionne en interne ?
Comment un PC et la carte graphique calculent les images pour les afficher à l’écran ?
Lorsque l’on doit faire des réglages, optimisations graphiques pour améliorer les performances de son PC dans les jeux vidéos, il faut connaître ces mécanismes.
De même si on doit régler des problèmes d’affichage dans les jeux vidéos (perte de FPS, bégaiements, freez, …).
Cet article détaille le processus autour de l’affichage et le fonctionnement générale d’une carte graphique.
Grâce à ce dernier, vous allez mieux comprendre le fonctionnement des jeux dans un PC ainsi que le rôle de chaque composant hardware (CPU, mémoire, GPU, …).
Table des matières
- 1 L’affichage dans les jeux par la carte graphique : comment ça marche
- 1.1 La carte graphique ou vidéo
- 1.2 Le CPU envoie les données graphiques du jeu à la carte graphique
- 1.3 Le CPU envoie les données à la carte graphique via le BUS PCI-E
- 1.4 La VRAM stocke les données
- 1.5 Le GPU calcule les données graphiques
- 1.6 Frame Buffer : Double, Triple Buffering
- 1.7 Les données graphiques sont envoyées du Frame Buffer à la sortie
- 2 Résumé du fonctionnement de l’affichage sur les jeux d’un PC
- 3 Performances, FPS et taux de rafraichissement
- 4 Liens
L’affichage dans les jeux par la carte graphique : comment ça marche
La carte graphique ou vidéo
La carte vidéo est le composant dédié à l’affichage des données sur votre écran.
Celle-ci se trouve dans votre PC est relié à une sortie, un moniteur, écran ou TV.
Elle a pour rôle de “construire” les images et les acheminer vers la sortie graphique.
Afin de bien comprendre cet article, il faut retenir deux composants essentiels :
- Le processeur graphique ou GPU qui calcule les images
- La mémoire VRAM (Video RAM) qui stockent les informations graphiques
Le CPU envoie les données graphiques du jeu à la carte graphique
L’utilisateur exécute un jeu.
Ce dernier charge et exécute les fichiers nécessaires qui se trouvent sur le disque dur ou SSD.
Les données nécessaires se chargent alors dans la mémoire RAM du PC.
L’intégralité du jeu ne contient pas dans la mémoire RAM puisque la taille disponible est limité.
Un PC peut avoir 4 Go, 8 Go, 16 Go, 32 Go de RAM.
La quantité de RAM permet de lisser le FPS car plus il y a de données dans la RAM, moins de données devront être chargé du lecteur qui est plus lent.
Votre CPU lit et écrit en permanence dans la RAM, dirige les informations et reçoit les entrées de tous les périphériques de votre système, tout cela se produisant via les voies d’informations sur votre carte mère.
En clair, c’est le point central qui va orchestrer les échanges d’informations dans tout le PC et notamment envoyer les données graphiques à la carte graphique.
Le système d’exploitation aide aussi à coordonner l’allocation des données par le processeur, en utilisant un pilote graphique spécifique pour traduire les instructions du processeur dans un format optimal pour la carte graphique que vous utilisez.
Windows fournit des pilotes génériques mais pour de meilleurs performances, il faut installer les pilotes du constructeur NVIDIA ou AMD.
Le CPU envoie les données à la carte graphique via le BUS PCI-E
Le processeur effectue des traitements pour des choses comme l’IA, la physique et l’animation.
Les résultats sont décrits comme une série de triangles.
Ensuite ces informations graphiques transitent entre le CPU et la carte graphique à travers le BUS PCI-Express.
On voit ici l’importante de la taille du BUS avec sa taille, vitesse de transfert et débit.
Plus ce dernier sera élevée, plus de données transiteront pour une performances graphiques optimal.
PCI-E étant l’interface la plus rapide actuelle, la transfère à un débit maximal possible de 4 000 Mo / s (16x), jusqu’à 8 000 Mo / s (32x) pour PCI-E 2.0, et même plus à l’avenir.
Ainsi, de nos jours pour les jeux, un BUS PCI-E de 16x minimal est requis.
La VRAM stocke les données
Les données qui entrent dans la carte graphique sont maintenant stockées sur la propre mémoire locale de la carte, appelée Video RAM (VRAM).
Ces puces VRAM intégrées fournissent un service similaire à celui de la RAM système standard sur votre carte mère, en tant que zone de stockage temporaire conçue pour aider à accélérer les calculs par l’unité de traitement graphique (GPU) – entourée en jaune ci-dessus.
La VRAM ne sert pas seulement de point de stockage pour les données à calculer pour le rendu, elle contient également des images complètes (cadres) prêtes à être envoyées à votre moniteur.
Ainsi plus il y a d’informations qui peuvent être stockées à bord de la VRAM de la carte graphique, plus le GPU peut traiter les données rapidement et ne pas avoir à faire de pause pour permettre à davantage de données d’être chargées dans la VRAM.
La quantité de VRAM disponible jour sur la résolution écran et le niveau de détails que l’on peut afficher dans un jeu.
Le GPU calcule les données graphiques
Le GPU accède désormais aux données en VRAM et entreprend une gamme de calculs graphiques complexes dans ce que l’on appelle communément le pipeline graphique.
Une carte graphique moderne dispose en fait de plusieurs pipelines fonctionnant en même temps et ce multi-threading permet à la carte graphique d’entreprendre en parallèle les différentes étapes listées ci-dessus et ainsi de les réaliser beaucoup plus rapidement.
Le GPU récupère les triangles pour les transformer en polygones 3D et les données de pixels qui seront affichées à l’écran.
Pour cela, il effectue une série de d’opérations graphiques :
- Vertex Processing/Transformation– Le CPU calcule les formes 3D filaires appelées polygones.
- Éclairage – Tous les objets sont ensuite correctement éclairés en fonction de l’emplacement de la ou des sources lumineuses et des surfaces réfléchissantes
- Point de vue – Les objets sont ensuite ajustés davantage pour tenir compte du fait qu’ils seront vus sous un angle et une distance particuliers
- Découpage (clipping) – Les objets qui ne seraient pas visibles pour le spectateur en fonction du champ de vision (FOV) actuel sont essentiellement supprimés
- Configuration du triangle – À ce stade, tous les sommets (points) sont réunis pour créer des triangles ou des polygones
- Rastérisation – Comme tout dans une scène 3D finira par être affiché sur une surface 2D plane sous forme de pixel, chaque objet de la scène se voit attribuer un emplacement de pixel particulier sur l’écran
- Culling – Ce processus reprend là où le découpage s’est arrêté; chaque pixel qui ne serait toujours pas visible est supprimé
- Texture et ombrage – Une texture est une image 2D qui est ajoutée à la surface d’un objet 3D pour lui donner un aspect réaliste. Un Pixel Shader peut combiner une gamme d’effets de couleur, de profondeur et de texture aux pixels pertinents pour créer des effets spéciaux comme des surfaces froissées, brillantes ou transparentes sur les objets
Frame Buffer : Double, Triple Buffering
Les données des étapes ci-dessus – une seule image complétée également connue sous le nom de Frame – sont envoyées pour stockage temporaire dans une zone de VRAM appelée Frame Buffer.
C’est le Le contrôleur de tampon de trame (frame buffer controller) qui gère ces opérations.
Comme son nom l’indique, cette zone met en mémoire tampon (stocke) les trames, prêtes à les envoyer à l’écran de votre ordinateur si nécessaire.
Le débit se mesure alors sous la forme de FPS (Frame per seconds) qui est un indicateur de performances important pour les joueurs sur PC.
Il existe en fait deux tampons sur les cartes graphiques modernes, le tampon principal et le tampon secondaire, également souvent appelés tampon avant et tampon arrière. Les deux sont des zones de stockage sur la RAM vidéo de la carte graphique, et le processus d’utilisation de deux tampons à la fois est appelé Double Buffering.
La carte graphique utilise le tampon secondaire pour composer une nouvelle image pendant que le tampon principal envoie une image terminée existante au moniteur. Lorsque ces tâches sont terminées, les tampons s’inversent.
Ceci se répète encore et encore et donc l’utilisation de deux tampons signifie que la carte graphique n’attend pas constamment qu’un seul tampon d’image soit effacé avant de procéder au rendu de plus d’images à y stocker.
Un des problèmes est que le jeu vidéo ou programme doit attendre qu’un tampon se libère pour commencer à le remplir.
Cela peut générer des lenteurs, surtout lorsque la synchronisation verticale (Vsync) est activé.
Pour corriger cela, on peut activer un troisième tampon Triple Buffering.
Cela vise à corriger certaines baisses de FPS lorsque Vsync est activé.
Les données graphiques sont envoyées du Frame Buffer à la sortie
A partir là, il faut envoyer les données à la sortie vers le moniteur ou écran.
Par le passé, avec les écrans CRT, une conversion était nécessaire puisque ces derniers ne géraient pas les données numériques.
Les données seraient envoyées à partir du tampon de trame via un RAMDAC (Random Access Memory Digital to Analog Convertor), via le câble vidéo vers votre moniteur.
Le RAMDAC convertissait les informations numériques (c’est-à-dire les informations en 0 et en 1) dans votre VRAM en un format analogique (c’est-à-dire les tensions de signal vidéo) affichables par les moniteurs CRT.
Sur les écrans LCD, cette conversion n’est plus nécessaire.
En effet, ces dernier sont connectés par des interfaces numériques DVI (Digital Video Interface) ou HDMI (High-Definition Multimedia Interface).
Il suffit alors de transporter le signal numérique par ces connecteurs.
Comme cette étape le souligne, les moniteurs LCD offrent la meilleure qualité d’image lorsqu’ils sont connectés à l’aide d’une connexion numérique pure telle que DVI ou HDMI, car il n’y a aucun risque de dégradation des données par conversion répétée.
Un affichage numérique avec une connexion numérique fournit la reproduction d’image la plus précise.
Résumé du fonctionnement de l’affichage sur les jeux d’un PC
En résumé, le moteur du jeu utilise le pilote graphique et DirectX pour s’interphaser avec la carte graphique et le GPU.
Ce dernier construit les images et le rendu graphique qu’il transmet à l’affichage.
Dans le PC, le CPU organise les échanges d’informations.
Les données du jeu sont stockées en grande partie dans la mémoire RAM du PC.
Le CPU calcule les données graphiques qu’il transmet à la carte graphique à travers le BUS PCI-Express.
Ce dernier à travers un pipeline traite les données reçues sous la forme de triangles pour créer les pylogones et objets 3D.
Enfin l’image avec les données du pixels sont aussi créées.
La carte graphique transmet alors les données graphiques à la sortie pour un affichage sur l’écran.
Performances, FPS et taux de rafraichissement
On voit donc ici que tout se fait en continue et que tous les composants hardware entre en jeu avec une utilisation intense.
Tous entre en jeu pour des performances optimal dans les jeux.
Il ne faut qu’aucun composant hardware du PC (CPU, mémoire RAM, BUS PCI-Express, carte vidéo) ne ralentisse ou soit sous-dimensionné.
Sinon un goulot d’étranglement se créé dans la chaîne et le jeu ralentit.
On assiste alors à une baisse des FPS, c’est à dire le nombre d’images par seconde.
Le FPS est donc un compteur assez important pour les gamers.
Il ne faut pas confondre ce dernier avec la fréquence de rafraichissement.
C’est aussi pour cela que la configuration requise indique une configuration matérielle minimale pour faire tourner le jeu et une configuration recommandée pour faire tourner pleinement le jeu.