1

假设我必须复制流中的每个图像(我不能简单地使用任何互斥保护访问该数据,无论如何都必须复制它),哪种方法更好,优点/缺点?

我还想知道与在同一过程中使用图像相比,这意味着多少性能损失。

谢谢

4

5 回答 5

2

对于图像,通过共享内存进行IPC将是最佳选择。

于 2009-04-15T10:56:34.880 回答
1

至少 Windows 的防火墙会干扰本地 TCP/IP 连接。因此我更喜欢共享内存。

于 2009-04-15T11:00:01.657 回答
1

在性能方面,通过共享内存进行 IPC 是最好的选择,但恕我直言,即使套接字消耗更多的处理,它们也会在软件的进化性方面为您提供更好的结果。

于 2009-04-15T11:07:05.337 回答
1

谷歌“内存映射文件”

于 2009-04-15T11:27:37.847 回答
1

我将采用 DirectShow 捕获设备的 VCAM 示例(可在: http ://tmhare.mvps.org/downloads/vcam.zip 获得)

此驱动程序在 O/S 中显示为视频捕获设备,并将在目标进程中运行。源将使用共享内存缓冲区为其注入帧。

虽然比最小共享内存 IPC 方案更复杂,但它提供了令人难以置信的优势,因为您的视频管道可以连接到大多数媒体播放器程序、捕获和编辑工具等。

我已经做过好几次了,包括像接收器、混音器、Freeframe 效果插件等功能。应该需要一两天的时间来破解。

于 2009-07-29T05:10:13.440 回答