J'essaie de mesurer le temps écoulé en millisecondes entre les événements de pression de touche en utilisant un temporisateur d'envoi, mais en déclarant qu'un temporisateur d'envoi a un intervalle de 1 milliseconde, puis en établissant l'événement de tick ne se déclenche pas toutes les 1 millisecondes mais quelque part comme 10-100 millisecondes (devinez). Comment puis-je mesurer le temps en millisecondes avec précision si cet événement ne se déclenche pas à temps? Je le fais en Silverlight qui ne semble pas avoir accès à System.Timers. La même chose semble arriver avec System.Threading.Timer.Temps écoulé avec DispatchTimer à une précision de 1 milliseconde
est ici les bases du code:
public void StartTimer(object o, RoutedEventArgs sender)
{
System.Windows.Threading.DispatcherTimer myDispatcherTimer = new
System.Windows.Threading.DispatcherTimer();
myDispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 1); // 1 Milliseconds
myDispatcherTimer.Tick += new EventHandler(Each_Tick);
myDispatcherTimer.Start();
}
// A variable to count with.
int i = 0;
public void Each_Tick(object o, EventArgs sender)
{
i++;
}
public void keypress(object s, EventArgs args)
{
label1.contents = i.ToString();
i = 0;
}
Des idées?
On dirait que 3ms est le meilleur que je puisse espérer jusqu'à ce que je puisse trouver une alternative ou trouver ce montage chronomètre. –