A quoi sert SDL_Flip ?
Lorsqu'on utilise un double tampon pour l'affichage, le programme dessine la prochaine image en même temps que la carte graphique affiche l'image précédente.
Supposons que la carte graphique affiche le tampon A et que le code de rendu travaille sur le tampon B.
SDL_Flip permet de dire à la carte graphique que le code de rendu sur le tampon B est fini et qu'elle peut à présent l'afficher.
Ainsi, le code de rendu qui va suivre va écrire sur le tampon A pendant que la carte graphique affiche l'image qui se trouve dans le tampon B.
Le prochain SDL_Flip fera que la carte graphique affichera tampon A pendant que le code de rendu travaille sur le tampon B.
Comment se servir de SDL_Flip ?
Lorsqu'un code SDL est écrit, il posséde généralement une boucle globale qui inclut une boucle événementielle, ceci permet de bien définir l'emplacement de l'appel à SDL_Flip :
Remarque : Il ne faut pas voir SDL_Flip comme une solution pour afficher le dernier Blit qui vient d'être fait. Il faut un et un seul appel par code de rendu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 while( jeuencours ) { while( SDL_PollEvent(&event) ) { case SDL_QUIT : jeuencours = 0; break; default: } /* Code de rendu */ ..... Pas de SDL_Flip .... /* Un seul SDL_Flip */ SDL_Flip(ecran); }
Jc
Partager