TC官方合作论坛

 找回密码
 立即注册
查看: 593|回复: 6
打印 上一主题 下一主题

[讨论] 多线程CPU占用过高怎么解决

[复制链接]
跳转到指定楼层
楼主
发表于 2015-3-26 19:27:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一个自动登录游戏的脚本,开了两个线程,CPU占用率高达25,比游戏的占用率还高5倍
两个线程的代码是这样的,里边调用的函数,基本都是间隔200毫秒循环找图
对脚本执行速度影响较小的情况下,有没有办法解决CPU占用过高的问题
  1. 功能 启动脚本()
  2.     设置资源路径()
  3.     读取账号()
  4.     如果(账号)
  5.         ///////////启动游戏,找开始游戏子句柄/////////////
  6.         进程打开(游戏路径,1)
  7.         等待(1000)
  8.         循环(真)
  9.             变量 hwndz = dm.EnumWindowByProcess("xy2_launch.exe","开始游戏","",1+4)
  10.             调试输出("开始游戏句柄为:"&hwndz)
  11.             如果(hwndz>0)
  12.                 等待(2000)
  13.                 dm.BindWindowEx(hwndz,"normal","windows","normal","",0)
  14.                 等待(200)
  15.                 移动单击(70,20)
  16.                 移动单击(70,20)
  17.                 dm.UnBindWindow()
  18.                 跳出
  19.             结束
  20.             等待(500)
  21.         结束
  22.         找图判断("界面logo","登录模式")
  23.         找图单击("一进",0,0)
  24.         找图单击("一进",0,0)
  25.         等待图片("一进")
  26.         键盘发送字符串(服务器)        //输入服务器
  27.         等待(100)
  28.         找图单击("一进",55,21)
  29.         找图单击("一进",0,0)
  30.         等待图片("进入")
  31.         等待(200)
  32.         键盘发送字符串(账号)
  33.         等待(200)
  34.         dm.KeyPressChar("tab")
  35.         等待(200)
  36.         键盘发送字符串(密码)
  37.         等待(200)
  38.         找图单击("进入",0,0)
  39.         是否有角色()
  40.     否则
  41.         线程关闭(检测句柄,0)
  42.         等待(500)
  43.         线程关闭(启动句柄,0)
  44.     结束
  45. 结束
复制代码

  1. 功能 图片检测线程1()
  2.     dm.SetPath("C:\\Users\\Administrator\\Desktop\\资源")
  3.     变量 jcx,jcy
  4.     循环(真)
  5.         jcx=-1
  6.         dm.FindPic(0,0,2000,2000,"接受.bmp|确定.bmp","000000",0.8,0,jcx,jcy)
  7.         如果(jcx>0)
  8.             dm.MoveTo(jcx,jcy)
  9.             等待(200)
  10.             dm.LeftClick()            
  11.         结束
  12.         等待(500)
  13.     结束
  14. 结束
复制代码
下边是启动线程的方法

功能 热键0_热键()
    启动句柄=线程开启("启动脚本","")
    检测句柄=线程开启("图片检测线程1","")
结束






回复

使用道具 举报

沙发
发表于 2015-3-26 19:43:37 | 只看该作者
目测代码的话,应该是大漠的找图命令占用CPU高,可以处理下色偏之类的,看能否解决这个问题
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2015-3-26 19:50:10 | 只看该作者
TC 发表于 2015-3-26 19:43
目测代码的话,应该是大漠的找图命令占用CPU高,可以处理下色偏之类的,看能否解决这个问题 ...

谢谢老大 我试试
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2015-3-26 20:12:47 | 只看该作者
效果不明显啊,除非加大延时,会有点效果只是CPU不是一直处于占用状态上下浮动大了.有别的办法没求教
回复 支持 反对

使用道具 举报

5#
发表于 2015-3-27 06:58:11 | 只看该作者
找图范围小点  别0-2000  测试下
回复 支持 反对

使用道具 举报

6#
发表于 2015-3-29 02:18:46 来自手机 | 只看该作者
你这找图范围太大了
回复 支持 反对

使用道具 举报

7#
发表于 2015-3-29 02:18:46 来自手机 | 只看该作者
你这找图范围太大了
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-9-23 13:26 , Processed in 0.185240 second(s), 22 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表