用了一个timer事件,Interval 设置为10,用下面的代码太慢,有没有其它方法?
Picture1.PaintPicture picone.Image, 0, 0, Picture1.Width, _
         Picture1.Height, 0, 0, picone.Width, picone.Height, vbSrcAnd
         
         
Picture1.PaintPicture pictwo.Image, 0, 0, Picture1.Width, _
         Picture1.Height, 0, 0, pictwo.Width, pictwo.Height, vbSrcInvert

解决方案 »

  1.   

    直接用BitBlt函数~API肯定快~
    再个问题~Timer控件设置为10毫秒系统是不可能响应过来的~太慢不是代码的问题,系统的Timer消息排队时间绝对超过这个设置~建议改变~
      

  2.   

    同样的图片,bitblt大约可以快多少?
    timer好像最低设置为55,再低就没有意义了。
    程序优化了好多,还是太慢。郁闷
      

  3.   

    为什么要定时进行画图?能不能改用事件机制,把不需要的画图去掉。
    bitblt快多少?看图片多大而定的。可以快数十倍,用不好也可能更慢。
      

  4.   

    是不是你让 AutoRedraw = True,去了能快不少呢。
      

  5.   

    有点不通哦。
    请问楼主的显示器刷新率达到100HZ了么??
    如果没有的化每秒刷新100次不是浪费CPU么。
    并且BITBLT的速度不会比PAINTPICTURE快多少,内部实现是同一个东西。还有啊,如果这个图片的要求不是很大的话,请用小一点的原图像来实现
      

  6.   

    是这样东东,picture1上是动态的影像。但是要求在picture1上通过鼠标画图。
    因为影像是时时变化的,所以画的图不能显示。就用两个picture来保存画的图,然后拷贝到picture1中。
    除了这个方法还有其它方法吗?