关于心电监护仪波形怎么匀速绘制的有关问题.

关于心电监护仪波形如何匀速绘制的问题...
监护仪每秒发送256个点,我原先是用循环语句来画波形,可是有个问题,绘制的速度不是匀速的

有人建议建立一个大的buffer,一个线程接收数据,另外一个线程取数据来绘制,这样会不会容易导致缓冲区溢出呀?本人愚笨,不知道如何做,各位大侠,怎么解决呢?

------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

队列由多个块组成,一个块一个锁,每写满一块后发消息给主线程让它读,主线程将数据移到自己的缓冲区里。由于多个块,所以一般锁也不会阻碍线程。

设备会每秒发送256个点到缓冲区,为了保证匀速绘制,在timer里读缓冲区,就是不知道发送速度和读取速度保持一致,如果不一致,我觉得会导致尚未读取的数据,会被后发送的数据覆盖

把绘图的缓冲区和接受数据的缓冲区分开。

恕我愚笨,不知可否把你的思路从头说说,不胜感激

主线程开一个主线程和线程交流用的缓冲区1,分成若干块,每块256个点。再来一个用来显示的缓冲区2。每次主线程从缓冲区1读一块数据到缓冲区2,OnTimer事件里从缓冲区2按照时间读若干数据用于显示。