Visual C++で記述されたアプリケーションは、system
関数呼び出しで外部プログラムを実行します。 システムコマンドは、特定のステレオ3Dビデオファイルとフルスクリーンモードをパラメータとして渡したstereoscopic playerインスタンスのコールです。C++アプリケーションから実行される外部プログラムのCPU負荷が制限されます
C++アプリケーションから呼び出された立体視のプレーヤーは、ビデオを非常にゆっくり再生するという問題があります。 Windowsのcmdから同じコマンドを実行しても、このような動作は発生しません。
私は組み込みのWindows CPUロード分析を実行すると、私は次のような結果(必要であれば、私はスクリーンショットを添付することができます)を取得:
- 40-同時にcmdをロードし、すべての利用可能なコアから実行立体プレーヤインスタンスをそれぞれ50%(私は2と4つのコアを別々のマシンで試しました)。
- C++アプリケーションから実行された立体プレーヤーインスタンスは、最初のコアを90〜100%読み込み、他のコアはロードしません。
どうすればこの問題を解決できますか?
あなたが産卵しているプロセスのためのSetProcessAffinityMaskを使用してみてください産卵しているプロセスのためのSetProcessAffinityMaskを使用してみてください。 – Flot2011
hm。良いアイデア、私は確かに試してみます –
ありがとう!私はSetProcessAffinityMask関数を使って解決策に達しました! –