Le Multiple Buffering consiste à créer plusieurs buffer réservés à l´écran. Le but est de ne pas avoir à gérer le fait que certains objet d´une image sont dessiné au dessus d´autres. Par exemple imaginez que vous avez une image de fond qui prend tout l´écran, et que vous voulez placer un sprite se déplaçant sur ce fond. Si on dessine l´image directement à l´écran on verra toutes les étapes: d´abord apparaîtra une image de fond, puis un sprite par dessus, puis de nouveau une image de fond, etc... Et ainsi de suite, le tout extrêment vite: résultat le sprite clignote. Le but premier du Buffering est de supprimer cet effet.
Le premier mode est le Simple Buffering qui consiste à créer un buffer en mémoire ( vidéo ou physique) où sera dessiné l´image. Ensuite une fois l´image dessinée, le buffer est copié dans le buffer de l´écran. Par exemple avec DirectDraw on dessine dans une surface en mémoire puis on la copie dans la surface primaire. Ainsi seule l´image finale apparaîtra à l´écran, supprimant les effets de cligotements. Le seul défaut de cette méthode est qu´elle va ralentir la vitesse du rendu, tout simplement parcequ´il faut accorder du temps au processeur ( graphique ou central) pour la copie.
C´est la raison pour laquelle on a pensé au Double Buffering qui consiste à utiliser deux surfaces qui pourront être un coup primaire un coup non-primaire. On commence par dessiner dans une première surface non-primaire, puis on indique à la carte graphique que cette surface est primaire: la carte graphique trace donc directement l´image sur l´écran. Ensuite on dessine dans la deuxième surface non-primaire, puis on indique à la carte graphique d´échanger le status de surface primaire entre la première et la deuxième surface ( c´est ce qu´on appelle un " flip"): résultat la carte graphique affiche la deuxième surface.
La seule différence entre le Simple et le Double Buffering, c´est que le Double Buffering supprime le temps consacré à la copie d´une surface dans une autre. Lors du Double Buffering le temps nécessaire à l´affichage d´une image est au pire celui dont a besoin votre carte graphique pour tracer l´image sur votre écran ( c´est le " temps nécessaire au flip").
Pour définitivement annihiler le temps de rafraîchissement, il existe le Triple Buffering qui consiste à utiliser 3 surfaces. Le principe est le même que pour le Double Buffering, à la différence que lorsqu´un flip est effectué entre deux surfaces, la troisième est en train d´être dessinée. Le seul problème du Triple Buffering est qu´il commence à prendre beaucoup de mémoire vidéo, donc impossible avec certaines cartes graphiques.