« Les cartes graphiques/Les cartes d'affichage » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 136 :
====Le multibuffering et la synchronisation verticale====
 
Sur les toutes premières cartes graphiques, le ''framebuffer'' ne pouvait contenir qu'une seule image. L'ordinateur écrivait donc une image dans le ''framebuffer'' et celle-ci était envoyée à l'écran dès que possible. Cependant, écran et ordinateur n'étaient pas forcément synchronisés. Rien n’empêchait à l’ordinateur d'écrire dans le ''framebuffer'' pendant que l'image était envoyée à l'écran. Et cela peut causer des artefacts qui se voient à l'écran. Un exemple typique est celui des traitements de texte. Lorsque le texte affiché est modifié, le traitement de texte efface l'image dans le ''framebuffer'' et recalcule la nouvelle image à afficher. Ce faisant, une image blanche peut apparaitre durant quelques millisecondes à l'écran, entre le moment où l'image précédente est effacée et le moment où la nouvelle image est disponible. Ce phénoméne de ''flickering''; d'artefacts liés à une modification de l'image pendant qu'elle est affichée, est des plus désagréable.
Si le ''framebuffer'' a une taille suffisante, il peut mémoriser plusieurs images sans problèmes. On pourrait croire que ce n'est pas utile, mais diverses techniques dites de '''''multibuffering''''' utilisent cette possibilité. L'idée derrière les techniques de ''multibuffering'' est de calculer plusieurs images en avance et de les mémoriser celles-ci dans le ''framebuffer''.
 
Pour éviter cela, on peut utiliser diverses techniques dites de '''''multibuffering'''''. L'idée derrière les techniques de ''multibuffering'' est de calculer plusieurs images en avance et de les mémoriser celles-ci dans le ''framebuffer''. Mais cela demande que le ''framebuffer'' ait une taille suffisante, qu'il puisse mémoriser plusieurs images sans problèmes. Prenons le cas du '''''double buffering''''', où le ''framebuffer'' peut mémoriser deux images. Le ''framebuffer'' est alors divisé en deux portions, une par image, auquelles nous donnerons le nom de tampons d'affichage. L'idée est de mémoriser l'image qui s'affiche à l'écran dans le premier tampon d'affichage et une image en cours de calcul dans le second. Le tampon pour l'image affichée s'appelle le tampon avant, ou encore le ''front buffer'', alors que celui avec l'image en cours de calcul s'appelle le ''back buffer''.
 
[[File:Double buffering.png|centre|vignette|upright=2|Double buffering]]