2013-05-02 1 views
0

100 Hz에서 가속도계 데이터를 기록하는 Windows Phone 애플리케이션을 만들려고합니다. 나는 System.Windows.Threading.DispatcherTimerSystem.Threading.Timer을 시도했지만 기록 된 데이터를 보았을 때 실제로 100Hz로 기록하지 않았습니다. DispatcherTimer은 60-80Hz이고, Timer은 약 85-90Hz를 기록한다. 나는 50Hz에서 녹음을 시도했을 때 40+ Hz까지 계속 지연 되었기 때문에 문제를 해결할 수없는 전화기라고 생각하지 않습니다. DispatcherTimer를 들어일정 간격으로 타이머 레코드를 확인하는 방법은 무엇입니까?

: Timer를 들어

timer = new DispatcherTimer(); 
timer.Interval = TimeSpan.FromMilliseconds(10); 
timer.Tick += new EventHandler(timer_Tick); 

:

timer = new Timer(timer_Tick, null, 0, 10); 

어떻게 내가 고정 금리 간격으로 기록하고 있는지 확인 않습니다 여기 내 코드의 조각은 무엇입니까?

답변

1

Windows Phone 7 -은 real-time OS이 아닙니다. 타이머 클래스는 정확히 정확하지 않습니다. 이 일을 적어도 오래 기다리고 싶다는 말을하는 것뿐입니다. OS가 실제로 진드기 메시지를 서비스하기 시작하면 타이머가 발동되었음을 알리는 결과를 낳기까지 시간이 걸립니다.
간단한 테스트 구현 : 10 밀리 초마다 현재 시간을 인쇄하면 최소 오류가 표시됩니다. 개발자가 1 또는 5 또는 10 초 간격을 사용하면 눈에 띄지 않습니다.

관련 문제