Qu'est-ce qu'une chaîne d'échange?
Une chaîne de permutation est une série de framebuffers, ou emplacements dans la mémoire de l'ordinateur, utilisés pour restituer une image avant qu'elle ne soit affichée sur un moniteur ou un autre périphérique. Il y a toujours au moins deux framebuffers dans une chaîne d'échange, car le premier tampon, ou actif, est généralement identifié comme étant celui actuellement affiché à l'écran. Lors de l’affichage d’un framebuffer, le tampon suivant peut être rendu et préparé pour l’affichage, puis échangé sur le périphérique selon les besoins. L'utilisation d'une chaîne de swap peut éliminer certains des problèmes dus aux conflits de synchronisation matérielle et logicielle, ainsi que des artefacts graphiques susceptibles d'apparaître du fait d'un rendu direct sur le périphérique d'affichage.
La manière dont une image est affichée sur un moniteur consiste simplement à placer la séquence correcte de nombres dans une zone de mémoire spécifiée. Tout ce qui se trouve dans cette zone de mémoire est dessiné à l'écran plusieurs fois par seconde. Un écran est tracé en lignes horizontales du coin supérieur gauche au coin inférieur droit. Le moment où l'écran commence le cadre suivant, lorsqu'il passe du coin inférieur droit de l'écran au coin supérieur gauche, est appelé retrace vertical.
Les implémentations d'un tampon d'échange ne dessinent que sur l'écran lors du retracement vertical. Si cette temporisation est désactivée ou si un programme tente de dessiner sur un écran pendant les périodes de rendu d'une image, une anomalie graphique appelée déchirure peut apparaître. Cela se produit lorsque l'image dans la mémoire du périphérique d'affichage est soudainement modifiée au cours du rendu, ce qui entraîne l'affichage du dernier cadre sur un côté de l'écran et l'affichage du nouveau par le reste de l'écran.
En convertissant une scène à l'avance dans un framebuffer, la prochaine image à afficher est déjà préparée et peut être rapidement insérée dans la mémoire d'affichage afin d'être affichée. Lorsqu'une image est affichée, la suivante est dessinée dans le framebuffer inactif, également appelé mémoire tampon. Cela crée des animations fluides et des effets visuels pouvant être minutieusement synchronisés pour éviter les déchirures.
Le terme "chaîne d'échange" est plus communément appelé double tampon ou triple tampon, en fonction du nombre d'images dessinées avant le tampon de trame actif. L'utilisation d'algorithmes de cadencement en nanosecondes ou en millisecondes est un élément essentiel de l'utilisation d'une chaîne de permutation pour garantir que la fréquence d'images maximale du moniteur ne soit pas dépassée et que les programmes puissent rythmer leurs propres traitements et ressources sur un système. L’utilisation d’une chaîne de swap, si elle est correctement implémentée, peut générer des animations fluides, quelles que soient les propriétés du périphérique d’affichage ou le temps requis pour restituer une image unique de l’animation.