系统采用WINCE操作系统,同时采集多路信号,并对实时信号进行显示与存储
问题:进行波形显示时要对6个通道最近的各300个采集点进行画图,这300*6个数据应该采用什么方式存取比较快?队列?
同时要求对历史数据进行保存,比方说一天的数据,那这一天的数据应该采用什么方式存取?保存在什么地方读取都比较快呢?要求当按键选择画历史图时,能尽快画出一段时间内的波形图。。。
目前采用文档串行化的方式,感觉画历史图时的读取还是有点慢,想优化一下。。。难道要用数据库?采用数据库的读取速度怎么样?
先谢谢大家了~~~
------解决方案--------------------
在 CE 下数据量大的话,慢是无法避免的。
瓶颈就在数据的存贮,可以参考优化存贮方法。
用文本,还是数据库,只有实际比较过才能确定。
------解决方案--------------------
结构数组存储
定义一个结构类型,包含7个元素,6个数据元素(相当于Y),一个时间元素(相当于X)
------解决方案--------------------
------解决方案--------------------
最快的就是内存了!
1个缓冲区buffer
1个缓冲区存放指针!pb
存一点,指针走一点,规定一个量,到了之后将已经存在内存的数据写到文件中! 但同时存放指针pb还在走!
或者两个BUFFER,
一个存满就把数据转到文件中,同时在另外一个buffer中接收数据!