pdufranc a écrit :
wapcamer : C'est ce que je fais deja. Et quand je mesure par ce procede le temps mis par le Sleep, il est tres souvent supérieur au temps demandé.
|
Il y a 2 choses à voir: la durée de chaque cycle, et la durée du Thread.Sleep()
Je te conseille donc de faire un System.out a l'entrée de chaque boucle, et d'encadrer ton Sleep par 2 appels à getDate();
De cette façon, tu pourras avoir la durée du sleep et la durée recommandée pour le sleep.
DateD0 Traitement DateD1 Sleep DateD2 T1= Fin de la boucle
.|------------------------------>---------->--------->-------|
Un bon shéma.....
Ainsi avec D°, D1, D2, tu peux deja verifier que D0+Sleep = T1 à peu près
et que D2-D1= Sleep
Si ce n'est pas le cas, il faut traiter les choses staitistiquement:
soit tu fais un grand nombre d'essais et à partir de là, tu essayes d'extrapoler une loi sur la durée du Sleep par rapport à la valeur qui est entrée, de cette façon tu pourras corriger la valeur d'entrée de la fonction sleep() en fonction de la valeur que tu espères.
Mais bon à mon avis, ça ne donnera pas gdchose mais au moins ça te permettra de voir sile delai du Sleep est aléatoire ou pas.
Tiens une autre idée qui me vient comme ça, si tu remplaces ton Sleep(durée) par une boucle de Sleeps, par exemple, au lieu de
Thread.Sleep(maDuree);
Code :
- date1=System.getDate(); //Oui je sais je connais plus le nom de la méthode
- while(System.getDate() - date1 <maDuree)
- {
- try{Thread.Sleep(1);}catch(){}
- }
|
Le pb c que sur des durées de l'ordre de la ms, je sais pas si ca peut aider.
Tiens nous au courant
---------------
Voir les RAW sous Android: https://market.android.com/details? [...] .RawVision Blog Photo: http://photouch.me Applications mobiles: http://caketuzz.com Wapcam Project: http://wapcam.mobi