一、背景
从获取数据到上位机的处理过程如下:
1.图像采集卡中接收数据,
2.接收数据后对数据进行解析
3.解析后的有效数据进行算法处理
4.算法处理后数据进行显示
5.有效数据进行无损压缩保存在本地磁盘。
其中,1和2在线程1中执行,3,4,5在线程2执行,采用双缓冲模式进行读写,线程1将有效数据写入后,通知线程2去读,线程2读完后将当前缓冲设置为可写,线程2正在读期间,则写入线程1进行等待,同样线程1在写入期间,读取线程2则进行等待。
二、测试验证双缓冲模式达到的帧率
1>测试接收一帧数据所需要的时间;
2>测试解析一帧数据所需时间;
3>测试算法处理所需时间;
4>测试压缩保存的时间;
三、测试分析:
测试发现,在机械硬盘上保存所花费的时间较长,比较严重影响帧率。另外换做SSD ,发现运行一段时间后,也存在保存所花费时间长的问题。所以,需要将压缩保存操作放置于另外的线程执行,同时确保生产和消费线程相互匹配。因为文件保存较大,需要采用映射文件来写入。