我用picturepaint方法复制图片时,cpu占用为100%,同时根本作不了其他事情,这个问题如何解决?
给点解决的方法,在线等!! 问题点数:50、回复次数:14Top
1 楼thirdapple(.:RNPA:.陨落雕 - 芝兰宝树)回复于 2005-09-12 16:34:57 得分 10
就一眨眼的时间不可能的。PaintPicture怎么可能这一时间持续到你察觉到CPU占用率到100%?如果是在循环里面,请使用DoEvents函数Top
2 楼faysky2(出来混,迟早是要还嘀)回复于 2005-09-12 17:15:01 得分 10
用DoEventsTop
3 楼Yanghsong(雪山飞狐)回复于 2005-09-12 17:48:20 得分 0
的却在循环里面,不停的复制,我想让他停止复制,只能导致系统死机;我是在任务管理器里面观察到他cpu使用用情况;DoEvents能避免这个情况吗?
Top
4 楼TechnoFantasy((VB MVP)www.applevb.com)回复于 2005-09-12 17:49:07 得分 0
可以的,你可以试一下,这个方法就是将控制权交给系统的。Top
5 楼Yanghsong(雪山飞狐)回复于 2005-09-12 17:50:26 得分 0
兄弟在线啊?认识认识Top
6 楼Yanghsong(雪山飞狐)回复于 2005-09-12 17:52:51 得分 0
因为这个我在循环,所以希望用单击一个命令按钮,使他随时停下来,能够作到吗?Top
7 楼thirdapple(.:RNPA:.陨落雕 - 芝兰宝树)回复于 2005-09-12 17:59:23 得分 0
设置一个flag,按了按钮之后改变flag
然后 if flag then exit do
在循环里面再加入doeventsTop
8 楼Yanghsong(雪山飞狐)回复于 2005-09-12 18:04:59 得分 0
flag什么意思?
因为我按按钮时系统就已经处理不过来拉,一按就死机.
为什么复制图片cpu使用为100%呢?
我焦头烂额Top
9 楼Yanghsong(雪山飞狐)回复于 2005-09-13 11:17:39 得分 0
问题无法解决,继续求援Top
10 楼fishmans(金脚指)回复于 2005-09-13 11:30:02 得分 10
'form
dim flag as boolean
'form_load
flag=false
'command1_click
flag=true
'command2_click
do
doevents
paintpicture ...................
until flag=trueTop
11 楼fj182(阿花)回复于 2005-09-23 20:58:53 得分 0
用Bitblt吧Top
12 楼SFMrp2000(答对了把分给我!!!)回复于 2005-09-25 17:47:45 得分 0
基本上不可能,因為VB本身的問題.Top
13 楼songyaowu(不以分多而蹭之;不因分少而不答; www.vb99.com)回复于 2005-10-14 11:48:28 得分 10
DoEvents是可以使你干预如何停止,但基本无法解决cpu的占用问题。有一个比较简便的方法就是把绘图过程加入timer控件的timer事件中。
点击按钮后,使用Timer控件的enable为true,开始绘图,停止时,设置为false即可。Top
14 楼songyaowu(不以分多而蹭之;不因分少而不答; www.vb99.com)回复于 2005-10-14 11:49:51 得分 10
另外,API绘图的速度应该是快于Paintpicture的。Top




