我在做1个基于USB的视频传输的系统
现在我想先检测USB里面出来的数据,我用一个inBuffer来接收SUB出来的数据,然后新开1个线程用一个list控件并用InsertString(-1,inBuffer)  当我把传输的数据包的大小改得比较大的时候 InsertString的显示速度明显跟不上USB的BUFFER写入速度。请问有什么方法能够快速显示BUFFER里面的数据啊?

解决方案 »

  1.   

    将inBuffer保存进链表,将每次只预显头部若干字节,用户单击该项才调用链表显示全部
      

  2.   

    为什么计算机的运算速度 还没USB的传输速度快啊?
    那我用VFW画图的话  速度能跟上吗?
    我光用这么简单的语句InsertString(-1,inBuffer) 都跟不上USB的传输速度还是说同步没做好?  我用的是event对象 分别创建3个event 一个下传  一个上传 一个用来显示数据 然后调用3个 waitsingleobject()分别等待这3个event 
              WaitForSingleObject(ReadCompleteEvent,INFINITE);   
              WaitForSingleObject(WriteCompleteEvent,INFINITE);
              WaitForSingleObject(DisplayEvent,INFINITE); ←主要是这个线程中调用的8192次循环InsertString(-1,inBuffer) 让其他线程也同时只能等待  不然数据会混乱的
     这样的同步  感觉速度好慢啊 有什么别的同步的方法没有啊? 
      

  3.   

    你一个屏幕能显示得下8192条list记录吗?超出窗口的部分不插入,性能就提高了。
      

  4.   

    list可以用滚动条的形式啊 但记录要保存下来啊 也就是说主要还是因为PC方面的原因造成速度下降了?