私はDirectShow操作を含むWin32 C++ DLLを呼び出すC#WinFormsアプリケーションを持っています。IMediaControl :: Run E_OUTOFMEMORY
カメラから13MP(4208 * 3120)をストリームすると、IMediaControl :: Run()APIがHRESULT値= E_OUTOFMEMORYで失敗します。
私は自分のメモリ割り当てと割り当て解除を確認しました。 また、/ LARGEADDRESSAWAREを有効にしました。 私はヒープコミットサイズを指定しようとしました。
しかし、それでもなお存在します。
何か不足していますか?あなたの考えを共有してください。
ありがとうございました。
コンピュータのメモリが不足していないかどうかを確認しましたか? –
はい。やった。 PCに十分なメモリがあります。 – sam
まだメモリの問題である可能性があります。あなたのアプリは32ビットですか? PC RAMは関連性が低いです。大規模なアドレス認識をアプリケーション(EXE)に設定する必要があります。プロセスと仮想アドレスの使用状況を監視できる必要があります。 DirectShowパイプラインではバッファを割り当てるのが一般的です。そのような高解像度のメモリではコストがかかる可能性があります。 DirectShowフィルターグラフを知っておくと便利です(http://alax.info/blog/1678)。 @RomanR。 –