Déclencher Timer.Tick événement

cs_ShayW 3233 Messages postés jeudi 26 novembre 2009Date d'inscription 6 décembre 2017 Dernière intervention - 6 déc. 2017 à 18:23 - Dernière réponse : Whismeril 10525 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention
- 6 déc. 2017 à 20:08
Bonjour,
Essayant de programmer un chrono au centième de secondes
un simple test
J'assigne à un timer un intervale de 10 millisecondes et l'arrete après 5 secondes

 Private Sub Timerwatch_Tick(sender As Object, e As System.EventArgs) Handles Timerwatch.Tick
Timerwatch.Interval = 10

'increase One-hundredth
hund += 1
If hund = 500 Then
Stop
End If
End Sub


si je compare avec le clock du pc ,le debugger stop après 8 secondes
Afficher la suite 

1 réponse

Répondre au sujet
Whismeril 10525 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention - Modifié par Whismeril le 6/12/2017 à 20:09
0
Utile
Bonsoir

Tu le sais peut-être (cette ligne me le fait penser)
Timerwatch.Interval = 10

Mais au cas ou,
un timer génère le Tick après l'intervalle, donc quand tu le lances ça attend (10 ms dans ton cas) avant d'exécuter le code.

Ensuite, j'ai constaté que l'intervalle est plus ou moins bien respecté, je pense (sans aucune certitude) que cela est due à la gestion des priorités inter-thread.
Le timer tourne sur son propre thread, sinon ça bloquerait ton programme, mais l'évènement est thread-safe, donc il y a bien une gestion.
Si celle-ci dure 2-3 ms, à la fin ça se voit, surtout sur des petits intervalles.

Je te conseille de mesurer le temps avec un stopwatch, c'est fait pour et de faire tourner ton timer à 1 ms.
Car même si au final tu fais moins de tours que prévus, le temps mesuré est le bon.


Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.