2012-07-31 2 views
0

Windows에서 고화질 마우스 (logitech g500)로 작업하고 있습니다. 원시 마우스 이벤트에 대한 대기 시간이 적은 타임 스탬프를 얻고 싶습니다. 나는 마우스 움직임 사이의 "일시 중지"를 계산하기 위해 타임 스탬프를 사용하고 있으므로 중요한 타임 스탬프의 상대적 정확도입니다.고해상도 마우스 이벤트를위한 고정밀 타이밍

마우스 이벤트를 모니터링하기 위해 RAW INPUT API를 사용하고 있습니다. 메시지에는 시간 정보가 포함되어 있지 않으므로 Windows에서 스톱워치를 사용했습니다. 이벤트 처리기가 트리거 될 때 "타임 스탬프"를 얻기위한 진단 - 마우스 이벤트 핸들러의 첫 번째 동작은 경과 된 틱에 대한 스톱워치를 읽는 것입니다.

나는이 경우 작동 할 근거가 없으므로이 방법을 사용하는 사람은 즉각적이고 분명한 함정을 보게됩니까? 아니면 스톱워치를 여러 번 읽는 것보다 대기 시간과 변동성에 대한 의견이 있기 전에 스톱워치를 사용해 본 적이 있다면 더 좋을까요?

+0

UI 스레드가 WM_INPUT 메시지에 얼마나 반응 하는지를 측정하는 심각한 위험을 감수해야합니다. 메시지 루프에 다시 입력되기 전에 스레드가 이전에 수행 한 작업과 상관 관계가 있습니다. 그리고 매우 가변적입니다. –

답변

0

클래스는 사용 가능한 경우 CPU에서 고성능 타이머를 사용하므로 얻을 수있는 가장 높은 해상도 타이머입니다.

IsHighPrecision 속성을 사용하여 고정밀 인스턴스가 있는지 확인할 수 있습니다.