TC官方合作论坛

标题: 蛋疼的问题 循环CPU过高和脚本稳定可靠行如何平衡 [打印本页]

作者: MrFrog    时间: 2013-1-24 02:23
标题: 蛋疼的问题 循环CPU过高和脚本稳定可靠行如何平衡
基于找图色的脚本 为了实现脚本的稳定性和可靠性 务必需要使用大量的循环甚至死循环 但是这样做的前提是提高CPU的使用率为代价 哪位大神有什么好方法在这二者之间做个好的平衡呢 望多多赐教呀
作者: TC兔子    时间: 2013-1-24 08:09
搜一下 help.sleep的妙用
作者: 如此美丽。    时间: 2013-1-24 09:11
多加点延迟  
作者: lyf1314    时间: 2013-1-24 09:12
图色字本来就是相当吃资料的操作,死循环就更加了
作者: Sky_Pro    时间: 2013-1-24 11:55
延时,撸主好运
作者: 元芳    时间: 2013-1-24 12:48
加油吧
作者: xuhekkll    时间: 2013-1-24 19:40
一是,适当加入延时,二是,决对不要加入死循环,你伤不起,不管怎么样都要加入出口,脚本才更高效。
作者: MrFrog    时间: 2013-1-24 22:57
延时的效果好象不太好哟
作者: a5754556    时间: 2013-1-28 19:50
家出口??是跳出吗
作者: zhkq    时间: 2013-1-29 09:47
不用非的跳出呀,可以循环加控制变量,其它线程改变控制变量,就可以在适当时候出来了。
作者: alukaduo09    时间: 2013-1-31 01:17
加延迟绝对不是好的办法,这样也影响同一循环中其他代码的执行效率.

我推荐一种方法,目前我也在使用这样的方法降低cpu对循环找图时候的巨大压力.

先设置一个频率为100毫秒的定时器或者更高的定时器,根据你自己的情况来看.
下面是代码示例.虽然代码不规范,但是你会懂的.

功能 定时器_()///////////////////////例如设置个100毫秒的定时器
A=A+1
B=B+1
功能结束
循环(真)/////死循环无所谓
  如果(A>30&&功能开关A)
///////////////////////////////如果A大于30 与 功能开关A都同时为真. 就执行找图操作. 也就是3秒执行一次找图  
  图像.找图(...........................................................)
.///////////////////////A如果不大于30下面这里的找图当然不执行,直接跳转到了下一个如果去执行.
   A=0
  ././/////////////////////////////////这里找图的条件成立了,所以要把A的值重新复位为0重新开始计时.
  如果结束

  如果(B>30&&功能开关B)
    图像.找图(...........................................................)

    如果结束
循环结束


代码的思路就是不在找图之后加延迟 是把延迟加到开关上去执行.这样会提升循环里其他的找图判定执行效率,从而也解决了频繁的被找图函数搞的CPU飙升到30%的烦恼.

代码执行过程你也明白.  如果你这样写    图像.找图xxxxxxxxxxxxxx
                                                                           辅助.等待(3000)
             执行结果是后面的代码都要统统的等待这个3000毫秒之后才可以执行.
作者: zhaowujiang    时间: 2013-2-20 23:04
回复 1楼MrFrog的帖子

我觉得用Goto找图最好了!
不知道各位大侠还有什么好的方法!
作者: ok963963ok    时间: 2013-2-21 01:41
上代码 我看看能不能优化
作者: a59362008    时间: 2013-3-6 14:40
加延迟绝对不是好的办法,这样也影响同一循环中其他代码的执行效率.

我推荐一种方法,目前我也在使用这样的方法降低cpu对循环找图时候的巨大压力.

先设置一个频率为100毫秒的定时器或者更高的定时器,根据你自己的......
alukaduo09 发表于 2013-1-31 1:17:25
好办法。。学习了!
作者: 无声感慨    时间: 2013-10-6 00:36
循环里面加跳出,不要万不得已,不要用循环,加多点延时




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1