Bonjour à tous,
Dans une application, j'ai besoin qu'un évènement se déclenche à une fréquence bien précise, et c'est pourquoi j'utilise la classe Timer.
Or je rencontre un souci de précision : lorsque par exemple ma fréquence est de 1000/minutes, l'évènement ne se produit en réalité que 958 fois par minutes...
Est-ce la précision du timer qui n'est pas suffisante? Ou bien cela vient-il de mes calculs pour calculer la période à partir d'une fréquence donnée?
Voila comment je procède :
Il y a en effet perte de précision quand j'attribue sa valeur a timer1.Interval du fait de la reconversion en int, mais comment faire autrement ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
Je vient de faire un essai avec 6000 évènements/minutes : le nombre d'évènements réalisés en réalité sont de 3800 ! Alors que normalement, 6000/60 donne 100, 1/100 donne 0,01 et 0,01 * 1000 donne 10, ce qui en théorie n'entraîne pas de perte au niveau de la reconversion en int...
Avec 600, soit un évènement tous les 100 millisecondes on obtient 548 éxécutions...
Au passage, je précise que mon évènement n'est pas extrèmement important, ce n'est pour l'instant qu'un changement de valeur d'un label...
Merci d'avance à tous ceux qui me répondront...

 

 
		
		 
         
 

 
			
			


 
			 
   
 


 Problème de précision avec un Timer
 Problème de précision avec un Timer
				 Répondre avec citation
  Répondre avec citation

 
  
  
 
 
  
  
 
 
   Pas de questions techniques par MP ! Le forum est là pour ça...
 Pas de questions techniques par MP ! Le forum est là pour ça... Tutoriels :
 Tutoriels :  Quel intéret d'offrir un timer si il ne marche pas ???
 Quel intéret d'offrir un timer si il ne marche pas ???



 
			
 Envoyé par cs_ntd
 Envoyé par cs_ntd
					
 
						
Partager