[OPENGL]usleep et affichage

usleep et affichage [OPENGL] - C++ - Programmation

Marsh Posté le 02-06-2010 à 11:30:55    

Bonjour,
 
Apres pas mal de temps de recherche sur internet je me résigne à poster sur le forum parce que je n'ai rien trouvé qui m'aide. Mon problème est le suivant, je fais un rubik's cube et donc je lui fais faire pas mal de rotation (rien que pour le faire se mélanger). J'aimerai bien que chaque rotation d'une partie du cube se voit à l'écran. Je me suis donc mis à chercher ce que j'allais pouvoir utiliser. J'ai donc rajouté un usleep ou nanosleep (j'en ai testé quelqu'un dans le doute) à la fin de chaque rotation ainsi qu'un rafraichissement de l'écran glutpostredisplay(); Cependant ça n'affiche a chaque fois que le résultat final en prenant pas mal de temps (il me cumule tout les sleeps que j'ai fixé à une seconde histoire de bien etre sur de si ça marche ou pas). Le prog se "bloque" donc environ le nombre de seconde fois le nombre de rotations.
 
Quelqu'un a une idée?
 
Merci de m'aider :)

Reply

Marsh Posté le 02-06-2010 à 11:30:55   

Reply

Marsh Posté le 03-06-2010 à 10:50:54    

Oui c'est normal. usleep et tous ses derives bloque le thread courant. donc absolument tout ton programme se bloque. sache que un sleep de l'ordre de la seconde est inenvisageable dans une application temps reel. si tu cherche a faire une animation "smooth" code un timer qui limite les FPS de ton application. Ainsi tu pourra a l'aide de variables bien choisies controller les animations de ton cube

Reply

Marsh Posté le 09-06-2010 à 10:52:55    

a la limite pour faire simple il pourrait calculer le temps du sleep en fonction du temps courant et le temps à la derniere image.
par contre oui il faut swapper pour y voir un truc, et pas dormir.


---------------
http://projets.6mablog.com/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed