2016-08-05 4 views
0

이벤트 시간을 정확하게 측정해야합니다 (두 번 클릭 사이의 시간을 가정하십시오). 저는 타이머를 사용하고 간격을 "1"로 설정하고 Tick 이벤트 내부의 카운터를 설정했습니다. 문제는 틱 이벤트가 실제로 1ms마다 (어쩌면 8ms 이상마다) 발생하지 않는 코드가 많기 때문입니다. 스레드를 사용하고 독립적으로 1ms 타이머를 실행하는 방법이 있습니까?스레드로 시간을 밀리 초 단위로 측정하는 방법

+0

난 당신의 정확성의 수준을 얻을 것이다 의심한다. 8ms로 당신은 기뻐해야합니다. – rene

+0

관련 : http://stackoverflow.com/a/28648/578411하지만 높은 정밀도 타이머 [C#을]'을 검색 할 때 찾기 위해 더 많은 것이' – rene

+2

는 일반적으로 당신에게 * 측정 * 간격을 필요로하는 경우 사용 할 것 '스톱워치'는 '타이머'가 아닙니다. –

답변

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

     //to do something 
     //... 

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

입니다. StopWatch를 사용하여 직접 측정하는 것이 훨씬 좋습니다. –

+0

난 당신이 스톱워치 클래스의 소스 코드를 http://referencesource.microsoft.com/#System/services/monitoring/system/diagnosticts/Stopwatch.cs,ceb0ba9cc88de82e –

+0

흠 재미를보고 싶어 .. –

1
var stopWatch = Stopwatch.StartNew(); 

// do something 

stopWatch.Stop(); 

Console.WriteLine(stopWatch.ElapsedMilliseconds); 
관련 문제