Régularité fonction timer

astrolabbcracker Messages postés 106 Date d'inscription mardi 11 janvier 2005 Statut Membre Dernière intervention 11 juin 2012 - 27 oct. 2010 à 11:03
BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 - 28 oct. 2010 à 09:37
bonjour et merci de lire ce message
J'ai un probleme de régularité avec la fonction Timer en As3 :

exemple d'un petit bout de code pour calculer le temps entre 2 évènements paramétrer à 300ms (ça correspond à 200bat par minute)


var variable1:Number;
var variable2:Number;
var minuteur:Timer;
minuteur = new Timer(300, 0);
minuteur.addEventListener(TimerEvent.TIMER, chaque_bip);
minuteur.start();
function chaque_bip(event:TimerEvent):void
{
var temps:Date = new Date();
variable2 = temps.getTime() - variable1;
variable1 = temps.getTime();
trace(variable2);


}


Normalement, en sortie on devrait avoir 300 alors que là j'ai :
296
297
282
343
282
296
297
282
343
282
...

en gros ça varie entre 250 et 350 soit 1/10 de sec... N'est-il pas possible d'être plus précis ? C'est peut-être mon ordi qui rame ?

Merci pour vos réponses

1 réponse

BBFUNK01 Messages postés 1310 Date d'inscription jeudi 16 juillet 2009 Statut Membre Dernière intervention 20 juin 2014 6
28 oct. 2010 à 09:37
Hello,

ce qui me chiffonne dans ton code c'est ça :
function chaque_bip(event:TimerEvent):void 
{ 
var temps:Date = new Date(); 
variable2 = temps.getTime() - variable1; 
variable1 = temps.getTime(); 
trace(variable2); 
}


Il me paraît plus logique de définir la valeur de la variable1 avant de la soustraire à la variable2 :
function chaque_bip(event:TimerEvent):void 
{ 
var temps:Date = new Date();
variable1 = temps.getTime();
variable2 = temps.getTime() - variable1; 
trace(variable2); 
}


A voir si ça a une incidence...

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
0
Rejoignez-nous