2

0.03125秒ごとにイベントを発生させる必要がありますTimerコントロールは0.031秒にしか移動できません

Stopwatchより正確なコンポーネントからイベントを作成するにはどうすればよいですか?

4

5 に答える 5

3

私はこれを見つけました、それは標準タイマーよりはるかに正確で信頼できます!信じられない。

http://www.codeproject.com/Articles/5501/The-Multimedia-Timer-for-the-NET-Framework

引用:Win32マルチメディアタイマーサービスは、最高のタイミング精度を提供します。これらを使用すると、他のタイマーサービスよりも高い解像度でタイミングイベントをスケジュールできます。これは、タイミングの精度が最も重要なマルチメディアアプリケーションで役立ちます。たとえば、MIDIアプリケーションには、可能な限りきめ細かいタイミングイベントが必要です。

残念ながら、Win32マルチメディアタイマーは.NETFrameworkの一部ではありません。ただし、.NET相互運用性サービスを使用することにより、マルチメディアタイマーを.NETフォールドに組み込むことができます。

于 2012-05-16T01:20:05.127 に答える
2

WindowsはリアルタイムOSではないため、特定の時間が経過した後にメソッドが実行されるという保証は得られません。

あなたができる最善のことは、(おそらくストップウォッチで)時間をチェックするのに忙しいことです。

また、より良い解像度でマルチメディアタイマーを使用できる場合があります...(検索クエリ-c#マルチメディアタイマー、つまりC#のタイマーから正確なティックを取得する

于 2012-05-15T17:13:50.157 に答える
2

一般に、タイマーの精度は約15ミリ秒以内であり、それでも、通常はプリエンプトされるため、精度の問題が発生する傾向があります。

1/4ミリ秒の範囲で指定された精度のタイマーを使用するには、リアルタイムオペレーティングシステムが必要であり、どのタイマーを使用しても正しく機能しない可能性があります。

于 2012-05-15T17:15:11.953 に答える
2

「0.03125秒ごとにイベントが発生する必要があります」-このような精度を確実に達成するには、専用のマイクロコントローラーを使用します。

デスクトップOSで必要と思われることを達成することはできません。

于 2012-05-15T17:18:44.013 に答える
1

優先度の高いスレッドとループで、チェックストップウォッチ時間またはより正確なカウンターを使用するのはどうですか?

于 2012-05-15T17:13:19.610 に答える