SetInterval pas précis?

Résolu
py2lyon Messages postés 9 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 21 novembre 2005 - 21 nov. 2005 à 11:09
cs_Delivrator Messages postés 4 Date d'inscription mardi 29 juin 2004 Statut Membre Dernière intervention 30 novembre 2005 - 30 nov. 2005 à 16:35
Bonjour a tous.



J'aimerai faire un compteur de secondes dans une anim flash.

J'ai absolument besoin que ce compteur soit précis.



Voici ce que j'ai essayé:

var timer:Number = 0;

function incrTimer():Void {

trace(timer);

timer++;

updateAfterEvent();

}

intervalId = setInterval(this, "incrTimer", 1000);


Le probleme c'est que ce n'est pas précis, avec un chronometre à la
main on observe un decelage de 4 secondes toutes les minutes!

essayer pour voir!



Si quelqu'un connait la raison de ce decalage...

ou si quelqu'un connait un autre moyen de faire un compteur précis je suis preneur.



merci d'avance pour vos réponse.

5 réponses

py2lyon Messages postés 9 Date d'inscription vendredi 4 juin 2004 Statut Membre Dernière intervention 21 novembre 2005 1
21 nov. 2005 à 13:29
ok les gars merci pour vos reponse rapide!



je vais utiliser getTimer()...



A l'avenir je serai que setIntervall n'est pas précis



Merci
3
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
21 nov. 2005 à 11:22
tu as un objet date ou getTimer à disposition .. tu t'y prends mal !

Peg'
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
21 nov. 2005 à 11:25
Salut

si le setInterval déconne (ce qui m'etonne tout de mm, mais c vient p'etre du temps entre l'appel de l'interval et la fonction)
tu peux utiliser getTimer() qui te renvois le nb de milliseconde ecoulé depuis le lancement du swf
donc quand tu initialise ton chrono, tu fais par exemple :
_startTime = getTimer();
et quand t'as besoin de recup le temps passé :
_endTime = getTimer();
_time = (_endTime-_startTime)/1000;
avec ca t'es sur de pas avoir de décalage, puisque tu calcul a la milliseconde prés
++

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
21 nov. 2005 à 13:36
Salut

setInterval est précit, si t'avais fat ca avec un interval tt les 10 millisecondes ca aurait ss doute marché
mais je pense surtout que la méthode avec getTimer() doit prendre moins de resources
au fait c ma réponse qu'il faut accepter, pas la tienne LOL c pas toi qui t'ai répondu ....

Flash sans Limites
_Benjy chez kOlapsis

merci de penser a accepter
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Delivrator Messages postés 4 Date d'inscription mardi 29 juin 2004 Statut Membre Dernière intervention 30 novembre 2005
30 nov. 2005 à 16:35
Pour éviter que d'autres ne se fassent piéger, je confirme ce que dit py2lyon, setInterval est d'une précision toute relative.



Selon les machines la précision varie énormément. Il me faut d'ailleurs
revoir complètement certaines petites applis après avoir observé ceci.
Sur 10 minutes, une machine accusait environ 2 secondes de retard mais
une autre en était à presque 1 minute de retard... tout simplement
inacceptable pour faire ne serait-ce qu'une horloge...



Je tente un getTimer() pour voir... mais j'ai un doute, si les deux sont basés sur le même principe...
0