いろいろ試した結果、この新しいスレッドを開きました。私のアプリケーション (VS2010 の C++) は、画像を取得し、画像を作成し、UDP を介して結果を送信する必要があります。問題は頻度です: 200 回/秒。そのため、私は 200Hz でダブル バッファに画像を記録するカメラを持っており、画像を 5 ミリ秒未満で処理する必要があります。アプリケーションは 99,999% の確率で動作しますが、Win7 Pro が私のリアルタイムの優先順位を奪うので、100000 件に 1 件の確率で何か問題が発生すると思います。msdn フォーラムなどを読むと、次のものしか使用できません。
- SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS); 管理者権限で起動されたプロセスのリアルタイム優先度を取得するには
- SetThreadPriority(HANDLE, THREAD_PRIORITY_ABOVE_NORMAL); または THREAD_PRIORITY_HIGHEST または THREAD_PRIORITY_TIME_CRITICAL。
これで、5 つのスレッド (_beginthreadex) が開始され、いくつかのスレッドがカメラのコンパイル済み DLL 内で開始されました。5 つのスレッドすべてに Time Critical 優先度を設定すると、どれも他のスレッドより優先度が高くないと思います。
だから私は2つの質問があります:
- Windows のラグなしで 200 Hz で作業できますか?
- 私のスレッドの設定について何か提案はありますか?
ありがとう!!さよならパオロ