TC官方合作论坛

标题: 找多图太慢,大神能来改下吗? [打印本页]

作者: langzijian1314    时间: 2015-1-26 18:05
标题: 找多图太慢,大神能来改下吗?
找多图时第一,二张还可以,三,四张图时执行太慢了,有什么方法能快点?

功能 找图操作()
    图片X坐标,图片Y坐标,图像序号
    图像序号=图像.找图(0,0,1920,1080,"rc:shang.bmp|rc:xia.bmp|rc:zuo.bmp|rc:you.bmp",0,1.0,0,图片X坐标,图片Y坐标)
    如果(图像序号==0)
        键盘.按键(40)
    否则
        如果(图像序号==1)
            键盘.按键(38)
        否则
            如果(图像序号==2)
                键盘.按键(39)
            否则
                如果(图像序号==3)
                    键盘.按键(37)
                如果结束
            如果结束
        如果结束
    如果结束
功能结束
功能 热键0_热键()
    tao.找图操作()
功能结束
功能 热键0_失去焦点()
    热键.销毁("热键0")
    热键.注册("热键0")
功能结束

作者: 龍飛    时间: 2015-1-26 18:35
第一,你的代码有错误,如果和如果结束里面不支持那么多个否则的。
第二,按你找这4张图,应该不会太慢的,你可以在代码里面输出时间看看完成找图和操作一共花费多少时间。
作者: 龍飛    时间: 2015-1-26 18:36
第三,缩小你的找图范围。
作者: langzijian1314    时间: 2015-1-26 18:50
龍飛 发表于 2015-1-26 18:35
第一,你的代码有错误,如果和如果结束里面不支持那么多个否则的。
第二,按你找这4张图,应该不会太慢的, ...

我是按一次热键执行一次的,所以需要非常快速的执行,后面俩张速度慢了点,能否改成一直循环找图不执行代码,按热键时再执行?这样是不是比较快速?
作者: xiaoyu4471    时间: 2015-1-26 21:25
可以 我一起找18张图 也没觉得慢啊 都用不上10毫秒 也是全屏找  把如果条件删点  直接上选择就快了
作者: 龍飛    时间: 2015-1-27 00:28
langzijian1314 发表于 2015-1-26 18:50
我是按一次热键执行一次的,所以需要非常快速的执行,后面俩张速度慢了点,能否改成一直循环找图不执行代码, ...

代码的执行速度是非常快的,你只找4张图,执行的时间可能只需要几毫秒.你说后面两张慢,你是如何知道慢的?
楼上的朋友说的对,这个时候你应该用选择语句来代替如果语句.
至于你想循环找图不执行操作的代码,按热键时再执行也是可以的,但速度上也是差不多的.
作者: langzijian1314    时间: 2015-1-27 10:17
龍飛 发表于 2015-1-27 00:28
代码的执行速度是非常快的,你只找4张图,执行的时间可能只需要几毫秒.你说后面两张慢,你是如何知道慢的?
...

我测试过才问的啊,我按热键的时候,第一张还在那个点上,后面两张已经不在那个点了,按了已经没什么意义了。
作者: 龍飛    时间: 2015-1-27 10:27
langzijian1314 发表于 2015-1-27 10:17
我测试过才问的啊,我按热键的时候,第一张还在那个点上,后面两张已经不在那个点了,按了已经没什么意义 ...

你找的4张图中 会不会有2张以上的图同时出现的?
作者: langzijian1314    时间: 2015-1-27 11:26
龍飛 发表于 2015-1-27 10:27
你找的4张图中 会不会有2张以上的图同时出现的?

就是上下左右,
作者: 龍飛    时间: 2015-1-27 11:34
langzijian1314 发表于 2015-1-27 11:26
就是上下左右,

会不会同时出现2张以上?
作者: langzijian1314    时间: 2015-1-27 11:59
龍飛 发表于 2015-1-27 11:34
会不会同时出现2张以上?

不会
作者: 龍飛    时间: 2015-1-27 12:03
langzijian1314 发表于 2015-1-27 11:59
不会

可以的话就把这一段的源码发出来,或者加我QQ495594687.
作者: langzijian1314    时间: 2015-1-27 18:32
龍飛 发表于 2015-1-27 12:03
可以的话就把这一段的源码发出来,或者加我QQ495594687.

什么源码?不是在内容里吗?
作者: 龍飛    时间: 2015-1-27 18:59
呃,我好像发错了..
把如果改成选择试试看.
  1. 功能 找图操作()
  2.     图片X坐标,图片Y坐标,图像序号
  3.     图像序号=图像.找图(0,0,1920,1080,"rc:shang.bmp|rc:xia.bmp|rc:zuo.bmp|rc:you.bmp",0,0.9,0,图片X坐标,图片Y坐标)
  4.    选择(图像序号)
  5.    条件 0:
  6.    键盘.按键(40)
  7.    条件 1:
  8.    键盘.按键(38)
  9.    条件 2:
  10.    键盘.按键(39)
  11.    条件 3:
  12.    键盘.按键(37)
  13.    选择结束
  14. 功能结束
复制代码

作者: langzijian1314    时间: 2015-1-27 20:27
改过了,差不多,不过我现在改成2个线程了,一个线程2张图片,效果好一点点吧,四个线程的话就有点卡,不知道是不是我写的不对
作者: 这论坛不错    时间: 2015-1-28 20:11
图片的大小可以缩小一点,不要太大,否则找图会慢,越小越快
作者: langzijian1314    时间: 2015-1-29 09:26
这论坛不错 发表于 2015-1-28 20:11
图片的大小可以缩小一点,不要太大,否则找图会慢,越小越快

嗯,都跟字差不多大了
作者: 2645572175    时间: 2015-6-24 18:37





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