0

systemVisual C++ で記述された私のアプリケーションは、関数呼び出しを使用して外部プログラムを実行します。システム コマンドは、特定のステレオ 3D ビデオ ファイルとフルスクリーン モードをパラメーターとして渡したステレオスコピック プレーヤーインスタンスの呼び出しです。

問題は、C++ アプリから呼び出されたステレオスコピック プレーヤーがビデオを再生する速度が非常に遅いことです。Windows cmd から同じコマンドを実行しても、このような動作は発生しません。

組み込みの Windows CPU 負荷アナライザーを実行すると、次の結果が得られます (必要に応じてスクリーンショットを添付できます)。

  • cmd から実行されるステレオスコピック プレーヤー インスタンスは、利用可能なすべてのコアをそれぞれ 40 ~ 50% 同時にロードします (別のマシンで 2 コアと 4 コアで試しました)。
  • C++ アプリから実行されるステレオスコピック プレーヤー インスタンスは、最初のコアを 90 ~ 100% ロードし、他のコアはロードしません。

どうすればこの問題を解決できますか?

4

1 に答える 1

2

生成するプロセスに SetProcessAffinityMask を使用してみてください

于 2012-05-15T10:49:08.567 に答える