61Fermer63
SasumeLe 09/06/2005 à 09:55
Au fait, en utilisant le compteur de frame sur grib, je me retrouve avec des scintillements sur HW2. J'ai dû me planter quelque part...
Sinon, je vais essayer de trouver un moyen de réduire le plus possible l'attente de la synchro : voici à quoi devra ressembler la boucle principale des programmes pour cela :
while(!quit)
{
  faireDesCalculs(objets);
  buffer_dessin = obtenirBufferDessin();
  dessinerLesObjets(objets,buffer_dessin);
  afficherBuffer(buffer_dessin);
}

Sauf que la fonction echangerBuffers ne prendra pas effet tout de suite, elle demandera simplement à la lib qu'au prochain cycle d'affichage il faudra échanger préalablement les buffers, cela fait qu'il n'y a aucune attente. Ensuite, le programme fait ses calculs (pendant ce temps la frame a le temps de finir d'être affichée, et le buffer affiché est remplacé par buffer_dessin), puis la fonction obtenirBufferDessin renvoie le nouveau buffer de dessin (qui est l'ancien buffer affiché) et on peut dessiner dessus immédiatement.
En fait la fonction obtenirBufferDessin pourrait bloquer, elle, tant que la frame n'a pas fini d'être affichée.