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