Les cartes accélératrices 2D |
Les cartes 2D n'ont pas changé de principe depuis leur création. Chaque puce possède de nombreux circuits qui permettent d'exécuter de nombreuses fonctions:
Ainsi, les performances des cartes 2D n'évoluent plus depuis quelques temps.
Leurs performances sont tributaires du type de mémoire utilisée sur la carte (les mémoires SGRAM ou WRAM, mémoires vidéo spécifiques à 10 ns, donnent des résultats bien meilleurs que la mémoire EDO (60 ns))
La fréquence du RAM-DAC (RAM Digital Analogic Converter), ainsi que la quantité de mémoire vidéo ne permettent en rien d'avoir de meilleures performances, elles permettent juste d'avoir un meilleur taux de rafraichissement (nombre d'images par seconde) et de pouvoir accéder à des résolutions plus grandes.
Les cartes accélératrices 3D |
Le domaine de la 3D est beaucoup plus récent, donc plus porteur. On arrive à des puissances de calculs sur PC supérieures à celles de certaines stations de travail.
Le calcul d'une scène 3D est un processus qui se décompose grossièrement en quatre étapes:
Ainsi, plus la carte accéleratrice 3D calcule elle-même ces
étapes, plus l'affichage est rapide. Les premières puces
n'effectuaient que le rendering, laissant le processeur s'occuper
du reste.
Depuis, les cartes possèdent un "setup engine" qui
prend en charge les deux dernières étapes.
A titre d'exemple, un Pentium II à 266 Mhz qui calcule les trois
premières étapes peut calculer 350 000 polygones par secondes,
lorsqu'il n'en calcule que deux, il atteint 750 000 polygones par
seconde.
Cela montre à quel point ces cartes déchargent le processeur.
Le type de bus est lui aussi déterminant. Alors que le bus AGP n'apporte aucune amélioration dans le domaine de la 2D, les cartes utilisant ce bus plutôt que le bus PCI sont beaucoup plus performants. Cela s'explique par le fait que le bus AGP est directement relié à la mémoire vive, ce qui lui offre une bande passante beaucoup plus grande que le bus PCI.
Ces produits de haute technologie ont maintenant besoin de la même qualité de fabrication que les processeurs, ainsi que des gravures allant de 0.35 µm à 0.25 µ:m.
Glossaire des fonctions accélératrices 3D et 2D |
Terme | Définition |
2D Graphics | Affiche une représentation d'une scène selon 2 axes de référence (x et y) |
3D Graphics | Affiche une représentation d'une scène selon 3 axes de référence (x,y, et z) |
Alpha blending | Le monde est composé d'objets
opaques, translucides et transparents. L'alpha blending
est une manière d'ajouter des informations de
transparence à des objets translucides. Cela est fait en
faisnat un rendu des polygones a travers des masques dont
la densité est proportionnelle à la transparence des
objets. La couleur du pixel résultant est une
combinaison de la couleur du premier plan et de la
couleur de l'arrière-plan. L'alpha a généralement une
valeur comprise entre 0 et 1 calculée de la manière
suivante: nouveau pixel=(alpha)*(couleur du premier pixel)+(1-alpha)*(couleur du second pixel) |
Alpha buffer | C'est un canal supplémentaire pour stocker l'information de transparence (Rouge-Vert-Bleu-Transparence). |
Anti-aliasing appelé aussi anti-crénelage) | Technique permettant de faire
apparaitre les pixels de façon moins crénelée. |
Effets atmosphérique | Effets tels que le brouillard ou bien l'effet de distance, qui améliorent le rendu d'un environnement. |
Bitmap | Image pixel par pixel |
Bilinear filtering | Permet de fluidifier le passage d'un pixel d'un endroit à un autre (lors d'une rotation par exemple) |
BitBLT | C'est l'une des fonctions d'accélération les plus importantes, elle permet de simplifier le déplacement d'un bloc de données, en prenant en compte les particularités de la mémoire-vidéo. Elle est par exemple utilisée lors du déplacement d'une fenêtre |
Blending | Combinaison de deux images en les ajoutant bit-à-bit |
Bus Mastering | Une fonction du bus PCI permettant de recevoir directement des informations de la mémoire sans transiter par le processeur |
Correction de perspective | Une méthode pour faire du mappage (enveloppage) avec des textures (texture mapping). Elle prend en compte la valeur de Z pour mapper les polygones. Lorsqu'un objet s'éloigne de l'objectif, il apparaît plus petit en hauteur et en largeur, la correction de perspective consiste à dire que le taux de changement dans les pixels de la texture est proportionnel à la profondeur. |
Depth Cueing | Baisse l'intensité des objets s'éloignant de l'objectif |
Dithering | Permet d'archiver des images de qualité 24-bit dans des tampons plus petits (8 ou 16 bits). Le dithering utilise deux couleurs pour en créer une seule |
Double buffering | Une méthode utilisant deux tampons, une pour l'affichage, l'autre pour le calcul du rendu, ainsi lorsque le rendu est fait les deux tampons sont échangés. |
Flat shading ou Constant shading | Assigne une couleur uniforme sur un polygone. L'objet ainsi rendu apparait de façon facettisée. |
Fog | Utilise la fonction blending pour un objet avec une couleur fixe (plus il s'éloigne de l'objectif, plus cette fonction est utilisée) |
Gamma | Les caractéristiques d'un affichage utilisant des phosphores sont non-linéaires: un petit changement de la tension à basse tension crée un changement dans l'affichage au niveau de la brillance, ce même changement à plus haute tension ne donnera pas la même magnitude de brillance. La différence entre ce qui est attendu et ce qui est mesuré est appelée Gamma |
Gamma Correction | Avant d'être affichées, les données doivent être corrigées pour compenser le Gamma |
Gouraud Shading (lissage Gouraud) | Algorithme (portant le nom du français qui l'a inventé) permettant un lissage des couleurs par interpolation. Il assigne une couleur à chaque pixel d'un polygone en se basant sur une interpolation de ses arêtes, il simule l'apparence de surfaces plastiques ou métalliques. |
Interpolation | Façon mathématique d régénérer des informations manquantes ou endommagées. Lorsqu'on agrandit une image par exemple, les pixels manquants sont régénérés par interpolation. |
Line Buffer | C'est un tampon fait pour mémoriser une ligne vidéo |
Lissage Gouraud | Algorithme (portant le nom du français qui l'a inventé) permettant un lissage des couleurs par interpolation. Il assigne une couleur à chaque pixel d'un polygone en se basant sur une interpolation de ses arêtes, il simule l'apparence de surfaces plastiques ou métalliques. |
Lissage Phong | Algorithme (portant le nom de Phong Bui-Tong) permettant un lissage des couleurs en calculant le taux de lumière en de nombreux points d'une surface, et en changeant la couleur des pixels en fonction de la valeur. Il est plus gourmand en ressources que le lissage Gouraud |
MIP Mapping | C'est un mot provenant du latin "Multum in Parvum" qui signifie "Plusieurs en un". Cette méthode permet d'appliquer des textures de différentes résolutions pour des objets d'une même image, selon leur taille et leur distance. Cela permet entre autre de mettre des textures de plus hautes résolutions lorsqu'on se rapporche d'un objet. |
Projection | C'est le fait de réduire un espace en 3-Dimension en un espace en 2-Dimension |
Rasterisation | Tranforme une image en pixels |
Rendu (Rendering) | C'est le fait de créer des images réalistiques sur un écran en utilisant des modèles mathématiques pour le lissage, les couleurs ... |
Rendering engine | Partie matérielle ou logicielle chargée de calculer les primitives 3D (Généralement des triangles) |
Tesselation ou facettisation | Le fait de calculer des graphiques en 3D peut-être divisé en 3 parties: la facettisation, la géométrie et le rendu. La facettisation est la partie consistant à découper une surface en plus petites formes, en la découpant (souvent en triangles ou en quadrilatères) |
Texture Mapping | Consiste à stocker des images constituées des pixels (texels), puis à envelopper des objets 3D de cette texture pour obtenir une représentation plus réaliste des objets |
Tri-linear filtering | Basé sur le principe du filtrage bilinéaire, le filtrage trilinéaire consiste à faire une moyenne de deux niveaux de filtrage bilinéaire. |
Z-buffer | Partie de la mémoire qui stocke la distance de chaque pixel à l'objectif. Lorsque les objets sont rendus à l'écran, le rendering engine doit supprimer les surfaces cachées. |
Z-buffering | C'est le fait de supprimer les faces cachées en utilisant les valeurs stockées dans le Z-buffer |