Le GPU
- Publié dans Informatique
Le GPU est le processeur central de la carte graphique. Il se charge du traitement des données vidéo, permettant ainsi de soulager le microprocesseur. Son rôle est de traiter les objets envoyés par le microprocesseur puis d’en déduire les pixels à afficher. En effet, dans le cas de l’affichage du scène 3D, le microprocesseur communique au GPU les données à afficher sous forme vectorielle. Les objets sont donc définis par une masse de points représentant leurs coordonnées dans l’espace. Pour afficher un objet à l’écran, le GPU procède en plusieurs étapes :
1. placer les objets dans le repère et leur appliquer des transformations (translation, rotation, etc…)
2. appliquer les effets de lumières sur chaque objet
3. décomposer les objets en petits triangles puis en fragments
4. appliquer des textures et des effets sur les fragments
5. afficher les pixel résultants de l’association des fragments Pour cela, il est constitué d’un immense pipeline principal. Celui-ci comprend au moins un vertex shader (étape 1 et 2), un setup engine (étape 3) et un pixel shader (étape 4 et 5). Remarques :
toutes ces opérations doivent être effectuées pour tous les pixels de la scène à afficher. Pour une image en 1600x1200, cela fait 1 920 000 pixels à calculer, soit près de 6 millions de fragments !!!! D’autant plus que pour bien faire, le GPU doit être capable d’afficher 50 images/s soit calculer 300 millions de fragments par seconde… Ceci explique pourquoi les GPU des cartes 3D récentes sont plus complexes que les derniers microprocesseurs.
Pour utiliser au mieux les capacités des cartes graphiques ont dispose d'API (Application Program Interface) qui sont des langages de description et de manipulation des objets :
Direct3D de Microsoft
OpenGL