2016-08-05 11 views
0

Ich muss eine Ereigniszeit genau messen (nehmen Sie die Zeit zwischen zwei Klicks an). Ich benutzte einen Timer und setze das Intervall auf "1" und einen Zähler im Tick-Event. Das Problem ist, da es viele Zeilen in meinem Code gibt, dass das Tick-Ereignis nicht wirklich alle 1 ms passiert (vielleicht alle 8 ms oder mehr). Gibt es eine Möglichkeit, einen Thread zu verwenden und einen 1ms-Timer unabhängig davon auszuführen?So messen Sie die Zeit in Millisekunden-Genauigkeit nach Thread

+0

Ich bezweifle, dass Sie das Niveau der Genauigkeit erhalten werden. Mit 8ms solltest du dich freuen. – rene

+0

relevant: http://StackOverflow.com/A/28648/578411 aber es gibt mehr zu finden, wenn Sie nach 'high precision timer [C#]' – rene

+2

suchen Normalerweise, wenn Sie * ein Intervall * messen müssen, würden Sie a verwenden 'Stoppuhr' kein' Timer'. –

Antwort

1
 //start 
     long start = DateTime.Now.Ticks; 

     //to do something 
     //... 

     //end 
     long end = DateTime.Now.Ticks; 
     long delta = end - start; 
+2

Messen direkt mit StopWatch ist viel besser. –

+0

Ich möchte Sie sehen Stoppuhr Klasse Quellcode http://referencesource.microsoft.com/#System/services/monitoring/system/diagnosticts/Stopwatch.cs,ceb0ba9cc88de82e –

+0

hmmm Interessante .. –

1
var stopWatch = Stopwatch.StartNew(); 

// do something 

stopWatch.Stop(); 

Console.WriteLine(stopWatch.ElapsedMilliseconds); 
Verwandte Themen