C#에서 작은 타이핑 테스트를하고 있는데, 프로그램에서 단어를 입력 한 다음 시간을 알려줍니다. C# 타이머 클래스 (도구 상자에서 타이머를 끌어서 놓기)를 사용했지만 눈금이 1ms 였지만 정확한 결과를 제공하지 못해 StopWatch로 대체되었으므로 타이밍이 매우 빨라졌습니다. 정확하지만 문제는 StopWatch에 이벤트 핸들러를 할당 할 수 없다는 것인데, 사용자가 단어를 마침으로써 그 사람의 시간을 표시 할 수는 있지만 입력하는 동안 실제로는 험을 표시 할 수 없습니다. 생각 하시겠습니까?C# High accuracy Timing
답변
초마다 이벤트를 발생시키고 Stopwatch 값을 폴링하는 다른 타이머를 사용하십시오. 스톱워치만큼 정확하지는 않지만 지연이 있기 때문에 인간은 실제로 10 분의 1 초보다 빠른 속도로 반응 할 수 없습니다.
시간을 정확하게 측정하려면 StopWatch를 사용하십시오. Timer를 사용하여 주기적으로 UI 업데이트를 실행하고 StopWatch가 측정 한 시간을 표시합니다. UI의 경우 1ms 해상도가 필요하지 않습니다 (화면 업데이트 시간이 1ms보다 길어질 수 있으며 인간의 눈으로는 빠른 속도로 업데이트를 인식 할 수 없습니다).
각 40-100 ms마다 업데이트를 시도하십시오. 적절하다고 생각합니다.
System.Timers.Stopwatch
클래스를 사용하고 IsHighResolution
(System.Timers.Stopwatch.IsHighResolution == true
) 필드를 확인하여 고해상도를 사용할 수 있는지 확인하십시오.
그런 다음 해고가 필요한 경우 가장 낮은 간격으로 다른 타이머를 통해이를 터뜨리십시오.이 타이머는 Stopwatch
의 값을 확인합니다. 이것이 완벽하지는 않을지라도 (완벽 할 필요는 거의 없습니다.) 작동합니다.
속성이 이미 부울 값이므로 true와 명시 적 비교가 필요하지 않습니다. – Joey
감사합니다. 나를 위해 충분히 잘했습니다. – 7VoltCrayon
- 1. C# sub millisecond timing
- 2. ansi-c. .pgm 사진을위한 High-Pass3 필터
- 3. Python Animation Timing
- 4. CakePHP afterSave Timing
- 5. n900 - maemo - timing
- 6. ActiveX 스레드 HIGH CPU 사용량
- 7. Timing a method and threads in .NET
- 8. 질문에 대한 답변 Multiply high signed
- 9. J2ME High m-commerce 용 보안 앱
- 10. J2ME는 high lvl UI에서 왼쪽 버튼을 사용합니까?
- 11. 저장 프로 시저 Timing out .. Drop, Create 그리고 다시 가동됩니까?
- 12. Javascript로 "-webkit-transition-timing-function"을 어떻게 설정합니까?
- 13. 로깅과 익스포트를위한 MyISAM? o'Reilly의 "High Performance MySQL"에서
- 14. Timer Elapsed 이벤트는 High Priority 스레드와 어떻게 경쟁합니까?
- 15. OHLC (Open-High-Low-Close) 보고서에 대한 PostgreSQL 쿼리
- 16. 최저 한계 가격이 매우 높음 LIMIT/high OFFSET
- 17. -webkit-animtion-timing-function을 각 키 프레임 대신 전체 애니메이션에 적용 할 수있는 방법이 있습니까?
- 18. Android : high-dpi 장치 용으로 만 최적화되었지만 (중소형 및 소형) dpi 화면을 여전히 지원합니다.
- 19. C# Epplus save & saveas error
- 20. C# 익명 형식 선언
- 21. 표준 C++을 사용하여 C 문자열을 xml로 변환하는 방법은 무엇입니까?
- 22. 어느 IDS가 더 우수한 입출력을 갖는 RDS 인스턴스 유형 : Extra Large DB 인스턴스 또는 High-Memory Extra Large 인스턴스
- 23. C++ 배열 정렬 방법
- 24. dll에서 c struct를 C#으로 변환
- 25. C++에서 이항 트리의 구현을 찾고 있습니다.
- 26. jquery mobile 이드의 스트립 핑
- 27. C#을
- 28. C#에서 동적으로 플래시 페이지로드
- 29. C# Listbox/foreach 루프 질문
- 30. C#을 사용한 비디오 크기 조정
완벽하게 작업했습니다. – 7VoltCrayon