66 votes

Comment le CPU et le GPU interagissent-ils dans l'affichage des graphiques informatiques ?

Vous pouvez voir ici une capture d'écran d'un petit programme C++ appelé Triangle.exe avec un triangle rotatif basé sur l'API OpenGL.

enter image description here

Certes, c'est un exemple très basique mais je pense qu'il est applicable à d'autres opérations de cartes graphiques.

J'étais juste curieux et je voulais connaître tout le processus depuis le double clic sur Triangle.exe sous Windows XP jusqu'à ce que je puisse voir le triangle tourner sur le moniteur. Que se passe-t-il, comment le CPU (qui traite d'abord le .exe) et le GPU (qui affiche finalement le triangle à l'écran) interagissent-ils ?

Je suppose que l'affichage de ce triangle rotatif implique principalement le matériel/logiciel suivant, entre autres :

Matériel informatique

  • HDD
  • Mémoire système (RAM)
  • CPU
  • Mémoire vidéo
  • GPU
  • Affichage LCD

Logiciel

  • Système d'exploitation
  • API DirectX/OpenGL
  • Pilote Nvidia

Quelqu'un peut-il expliquer le processus, peut-être avec une sorte d'organigramme pour l'illustrer ?

Il ne doit pas s'agir d'une explication complexe couvrant chaque étape (cela dépasserait le cadre de l'étude), mais d'une explication qu'un informaticien de niveau intermédiaire peut suivre.

Je suis sûr que beaucoup de personnes qui se qualifient de professionnels de l'informatique ne pourraient pas décrire ce processus correctement.

0voto

user583641 Points 1

Je pense que le CPU envoie les données vidéo au GPU via le bus, puis le GPU les affiche. Ainsi, un GPU plus rapide peut traiter plus de données provenant du CPU. De cette façon, une partie du traitement du processeur est transférée au GPU. Par conséquent, vous obtenez une vitesse plus rapide dans les jeux.

C'est un peu comme la RAM où le processeur stocke les données pour qu'elles puissent être chargées et traitées rapidement. Les deux rendent les jeux plus rapides.

La carte son ou la carte réseau fonctionnent sur le même principe, c'est-à-dire qu'elles récupèrent des données et déchargent le CPU de certaines tâches.

0voto

ashish Points 21

Je pense que Op ne sait pas exactement ce que le processeur demande à la carte graphique de faire et pourquoi les commandes graphiques (comme les commandes opengl ou direct3d) ne sont pas envoyées directement au GPU.

Le CPU indique simplement au GPU ce qu'il doit rendre. Toutes les instructions passent d'abord par le CPU où elles sont configurées/initialisées pour que le GPU puisse effectuer le rendu.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X