System.Timers.Timer オブジェクトを使用して、メイン フォーム ( Windows フォーム、C#)によって処理されるイベントを発生させるアプリケーションがあります。私の問題は、.Interval をどれだけ短く (1 ミリ秒まで) 設定しても、1 秒あたり最大 64 回になることです。
Forms タイマーには 55 ミリ秒の精度制限があることは知っていますが、これは System.Timer のバリアントであり、Forms のバリアントではありません。
アプリケーションは 1% の CPU を使用するため、CPU バウンドではありません。したがって、それが行っていることは次のとおりです。
- タイマーを 1ms に設定します
- イベントが発生したら、_Count 変数をインクリメントします
- もう一度 1&nsp;ms に設定して繰り返します
_Count は、他に行う作業がない場合でも、1 秒間に最大 64 回インクリメントされます。
これは「再生」アプリケーションであり、パケット間のわずか 1 ~ 2 ミリ秒の遅延で着信パケットを複製する必要があるため、1 秒間に 1000 回程度確実に発火できるものが必要です (ただし、 CPUバウンドでした、私はそうではありません)。
何かご意見は?