ストリーム上の各画像をコピーする必要があると仮定すると(ミューテックス保護を使用してそのデータに単純にアクセスすることはできません。とにかくコピーする必要があります)、どちらの方法が優れていますか、長所と短所はありますか?
同じプロセスで画像を使用した場合と比較して、これがどの程度のパフォーマンスの低下を意味するかも知りたいです。
ありがとう
ストリーム上の各画像をコピーする必要があると仮定すると(ミューテックス保護を使用してそのデータに単純にアクセスすることはできません。とにかくコピーする必要があります)、どちらの方法が優れていますか、長所と短所はありますか?
同じプロセスで画像を使用した場合と比較して、これがどの程度のパフォーマンスの低下を意味するかも知りたいです。
ありがとう
画像の場合、共有メモリを介したIPCが最適なオプションです。
少なくともWindowsのファイアウォールは、ローカルTCP/IP接続にも干渉する可能性があります。したがって、私は共有メモリを好みます。
パフォーマンスの観点からは、共有メモリを介したIPCが最良のオプションですが、IMHOは、ソケットがもう少し処理を消費する場合でも、ソフトウェアの進化の観点からより良い結果をもたらします。
Google「メモリマップファイル」
I would take the VCAM example of a DirectShow capture device (available at: http://tmhare.mvps.org/downloads/vcam.zip)
This driver appears to the O/S as a video capture device and would run in the destination process. The source would use shared memory buffers to feed it frames to inject.
While more complicated than a minimal shared-memory IPC scheme, it gives an incredible advantage in that your video pipes can connect to most media player programs, capture and editing tools, etc.
I have done this several times, including features like sinks, mixers, Freeframe effect plugins, and so on. It should take a day or two to hack together.