Win 7 64bit,2GB RAM,20GB虚拟内存。图像大小:640 * 480像素。我已经设置了20GB的虚拟内存,但代码仍然无法工作,因为内存不足
该代码主要做三件事: 1)两个线程从两个摄像头获取图像数据。 2)两个线程将数据推入两个队列。 3)两个线程将队列的数据写入两个avi文件。
为了使存储过程不影响获取速度,我将它们分成不同的线程。但是如果我使用相同的线程获取图像并写入图像,则不会出现此问题,因为获取速度等于写入速度。
使用二进制文件可能会有帮助,但我不明白为什么虚拟内存不起作用。任何其他有用的方法?非常感谢你。
你实际上是否定位了x64?如果你只有2GB,那么你的程序很容易死于快速切换。这会加剧摄像机吐出图像时出现的流水问题,而不是您可以保存它们。队列正好满了并最终落下。跟上实时摄像头提要需要一个好的视频编解码器。 –
是的,你确实是对的。无论虚拟内存有多大,仍然需要时间将数据写入磁盘。关键是要使写入速度快于存储速度。我使用系统的编解码器,它是“x264vfw - H.264/MPEG-4 AVC” –
“代码仍然无法工作”是什么意思?你有错误吗?程序行为错了吗? – user2079303