problème de fps openGl - C++ - Programmation
Marsh Posté le 30-05-2005 à 22:24:51
c'est quoi le refresh rate des écrans ?
Marsh Posté le 30-05-2005 à 22:26:10
sinon c'est moche ta facon de faire
Marsh Posté le 30-05-2005 à 23:14:57
je c c a l'arrache
toute meilleure façon est la bienvenue...
Marsh Posté le 30-05-2005 à 23:24:56
bin tu calcules l'interval detps entre la derniere image et la courante et tu te sers de cet interval pour ajuster tes mouvements
Marsh Posté le 30-05-2005 à 23:25:13
(si l'interval est trop grand et que t'as des integrateurs l tu vas ptet avoir des pb)
Marsh Posté le 30-05-2005 à 23:45:09
La resolution du timer dans Windows est generalement de 15.6 millisecondes, soit environ 65 fps.
Rajoute un "timeBeginPeriod(1)" dans tes initializations, et tu auras un timer precis a 1 milliseconde prete.
Marsh Posté le 30-05-2005 à 23:46:15
les refresh des écran c'est bizare,
ça ne change rien sur mon PC (de 60 à 200 Hz c'est pareil)
mais sur les autres le nombre de fps de mon prog suit la fréquence de l'écran mais j'ai pu essayer que jusqu'à 72 Hz parceque l'ordi supportait que ça
Marsh Posté le 30-05-2005 à 23:47:29
bin rien, ta carte video fait une synchronisation avec le retour de debut de balayage, d'ou l'attente
Marsh Posté le 30-05-2005 à 23:49:49
Citation : |
Effectivement j'avais ce pb avant mais j'ai téléchargé une nouvelle version de mon glut et (sur mon pc du moins) quand j'affichait le retour de glutGet(..) ça décomptait bien à la ms.
sinon "timeBeginPeriod()", il faut quoi comme include?
Marsh Posté le 30-05-2005 à 23:51:41
Citation : bin tu calcules l'interval detps entre la derniere image et la courante et tu te sers de cet interval pour ajuster tes mouvements |
ça se tente...
Marsh Posté le 31-05-2005 à 00:08:23
windows.h (google)
Marsh Posté le 30-05-2005 à 22:21:44
Bonjour
je tente de créer un jeu de combat (type mortal Kombat) avec openGl et freeglut.
J'utilise la fonction de glut pour récupérer le temps d'execution en milisecondes pour limiter le nombre de fps à 120 avec une boucle:
tps_debut=glutGet(GLUT_ELAPSED_TIME);
...
while(tps_fin=gluGet(GLUT_ELAPSED_TIME)-tps_deb<8); //8ms par frame=120 fps
Cela marche sans problème sur mon PC mais sur tous les autres que j'ai essayé (environ même puissance), le prog se bloque à 60 fps ce qui est gênant: tous les mouvements sont deux fois trop lents...
Si j'enlève la boucle, je tourne à 500 fps (sur mon PC)
A l'aide!
merci
---------------
deluser --remove-home ptitchep