/ /一定の間隔でタイマーレコードを確保する方法は? - c#、windows-phone-7

一定間隔でタイマーレコードを確保する方法は? - c#、windows-phone-7

100 Hzで加速度計データを記録するWindows Phoneアプリケーションを作成しようとしています。 System.Windows.Threading.DispatcherTimer そして System.Threading.Timer記録されたデータを見ると、いずれも実際には100Hzで記録していませんでした。 DispatcherTimer 60〜80Hzを記録し、 Timer 約85〜90Hzで記録する。 50Hzで録音しようとしたときにまだ40 + Hzにまで遅れていたので、問題は電話では処理できないと思っていません。コードは次のとおりです。

ために 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は1

Windows Phone 7 - はそうではありません リアルタイムOS。どのタイマークラスも厳密に正確ではありません。 OSが実際にティックメッセージにサービスを提供すると、タイマーが刻々と変化したことを知らせるようになるまでには、時間がかかります。
簡単なテストを実装しようとする:10ミリ秒ごとに現在の時刻を表示すると、最小のエラーが表示されます。開発者が使用するとき 1 または 5 または 10 間隔のような秒 - これは目立たない。