2013-05-02 103 views
0

我正試圖創建一個Windows手機應用程序,記錄加速度計數據在100赫茲。我試用了System.Windows.Threading.DispatcherTimerSystem.Threading.Timer,但是查看記錄的數據,實際上都沒有以100Hz記錄。 DispatcherTimer記錄60-80Hz,而Timer記錄在85-90Hz左右。我不認爲問題在於手機無法處理它,因爲當我嘗試以50赫茲進行記錄時,它仍然滯後於40赫茲以上。這裏是我的代碼片段:如何確保定時記錄在固定的時間間隔?

DispatcherTimer

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

Timer

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

如何確保我在一個固定的速度間隔記錄?

回答

1

Windows Phone 7 - 不是real-time OS。沒有一個定時器類是精確的。你所做的只是說你想至少等待這麼久。這需要一段時間才能觸發,並且一旦操作系統開始實際服務滴答消息,最終會通知計時器已打勾。
嘗試實施簡單測試:每10毫秒打印一次當前時間,並且您可以看到最小誤差。當開發人員使用1510秒之類的時間間隔 - 這並不明顯。

相關問題