1

D2XX インターフェイスを介してオーディオ データを FTDI デバイスに供給するアプリケーションがあります。私のアプリケーションがフォーカスを持っている間は完璧に動作し、CPU の使用量はほとんどありません (5%)。しかし、(他のアプリケーションに切り替えたり、大量の描画を行ったりして) CPU を叩くと、オーディオに途切れが生じることがあります。

これを防ぐために多くのことを試みましたが (リアルタイムに対するプロセス/スレッドの優先順位、MMCSS スケジューリングなど)、それでも時々発生します。

優先順位を上げる他の方法はありますか? それとも、カーネル ドライバーを作成しないと不可能でしょうか?

4

3 に答える 3

0

プロセス (スレッドではない) の優先度を「リアルタイム」に設定した場合、そのスレッドは常に、リアルタイムではない他のプロセスからのスレッドの前に実行する必要があります。ですから、これがあなたにできる最善のことだと思います。

ただし、リアルタイム プロセスの優先順位は、システム全体が応答しなくなる可能性があるため、絶対に必要な場合にのみ使用してください。

于 2012-02-28T21:06:08.187 に答える
0

デバイスにサービスを提供するスレッドの優先度を上げるか、(可能であれば) デバイスとの通信用のバッファ サイズを増やします。

ウィンドウ内のタスク切り替えの最小時間は 10ms です。スレッドがデバイスからのデータを時間通りに処理しない場合、途切れたり音声が途切れたりします。

于 2012-02-28T21:10:39.660 に答える
-1

.net4.0の並列プログラミングの可能性の使用を検討することをお勧めします。タスクファクトリを作成し、複数の並列スレッドで作業を実行させると、割り当てられたCPU%が高くなります。

于 2012-02-28T20:48:21.823 に答える