Déclencher Timer.Tick événement

cs_ShayW
Messages postés
3238
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
14 mars 2018
- 6 déc. 2017 à 18:23 - Dernière réponse : Whismeril
Messages postés
12228
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 novembre 2018
- 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 

Votre réponse

1 réponse

Whismeril
Messages postés
12228
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 novembre 2018
- Modifié par Whismeril le 6/12/2017 à 20:09
0
Merci
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.