假设我必须复制流中的每个图像(我不能简单地使用任何互斥保护访问该数据,无论如何都必须复制它),哪种方法更好,优点/缺点?
我还想知道与在同一过程中使用图像相比,这意味着多少性能损失。
谢谢
假设我必须复制流中的每个图像(我不能简单地使用任何互斥保护访问该数据,无论如何都必须复制它),哪种方法更好,优点/缺点?
我还想知道与在同一过程中使用图像相比,这意味着多少性能损失。
谢谢
对于图像,通过共享内存进行IPC将是最佳选择。
至少 Windows 的防火墙会干扰本地 TCP/IP 连接。因此我更喜欢共享内存。
在性能方面,通过共享内存进行 IPC 是最好的选择,但恕我直言,即使套接字消耗更多的处理,它们也会在软件的进化性方面为您提供更好的结果。
谷歌“内存映射文件”
我将采用 DirectShow 捕获设备的 VCAM 示例(可在: http ://tmhare.mvps.org/downloads/vcam.zip 获得)
此驱动程序在 O/S 中显示为视频捕获设备,并将在目标进程中运行。源将使用共享内存缓冲区为其注入帧。
虽然比最小共享内存 IPC 方案更复杂,但它提供了令人难以置信的优势,因为您的视频管道可以连接到大多数媒体播放器程序、捕获和编辑工具等。
我已经做过好几次了,包括像接收器、混音器、Freeframe 效果插件等功能。应该需要一两天的时间来破解。