找回密码
 加入
搜索
查看: 6668|回复: 16

[AU3基础] 请教在执行while循环时,如何有效的降低系统idle?(已解决)

 火.. [复制链接]
发表于 2011-7-29 17:43:55 | 显示全部楼层 |阅读模式
本帖最后由 psplimp 于 2011-7-31 13:27 编辑

问题如标题,求高手赐教,不胜感谢!!!
发表于 2011-7-29 18:00:09 | 显示全部楼层
回复 1# psplimp

降低系统idle?是要降低cpu使用率吗?
如果用循环模式的话,一般来说要比事件模式占用资源多一些。
 楼主| 发表于 2011-7-29 18:07:59 | 显示全部楼层
对,就是CPU占用率。
我要做个无限循环,随时侦测出现的提示框做相应的处理,在出现特定提示时退出循环。

程序运行起来,CPU占用率相当高。想有什么办法能降低占用率???
发表于 2011-7-29 18:16:58 | 显示全部楼层
循环里面加个sleep(20)
 楼主| 发表于 2011-7-29 18:19:59 | 显示全部楼层
循环里面加个sleep(20)
papapa314 发表于 2011-7-29 18:16


楼上说的方法我试过,效果不明显。还有其他方法么?
发表于 2011-7-29 18:24:43 | 显示全部楼层
回复 5# psplimp

是不是你的代码有问题,如果只是单纯的一个循环的话,不会占用多少CPU的,因为本身也没做什么!
我想平时写一些自己用着玩的脚本的时候还是消息循环模式比较多的,反正我是这么弄的,cpu并不高啊!
发表于 2011-7-29 18:27:26 | 显示全部楼层
优化你的代码!
如何优化?帖出你的代码,我们还是不要空对空
 楼主| 发表于 2011-7-29 18:27:33 | 显示全部楼层
回复  psplimp

是不是你的代码有问题,如果只是单纯的一个循环的话,不会占用多少CPU的,因为本身也没做 ...
love5173 发表于 2011-7-29 18:24


"消息循环模式",是怎样的?楼上可否可以给些具体的提示?谢谢
 楼主| 发表于 2011-7-29 18:42:11 | 显示全部楼层
优化你的代码!
如何优化?帖出你的代码,我们还是不要空对空
happytc 发表于 2011-7-29 18:27


例如:
while 1
  if WinActive("消息提示1") Then
    Send("{Enter}")
  EndIf
  if WinActive("消息提示2") Then
    Send("{Enter}")
  EndIf
  if WinActive("特殊消息提示") Then
    ExitLoop
  EndIf
  sleep(20)
wend
发表于 2011-7-30 06:53:57 | 显示全部楼层
while 1
_winapi_emptyworkingset()
  if WinActive("消息提示1") Then
    Send("{Enter}")
  EndIf
  if WinActive("消息提示2") Then
    Send("{Enter}")
  EndIf
  if WinActive("特殊消息提示") Then
    ExitLoop
  EndIf
  sleep(20)
wend

算是个投机取巧的法子
发表于 2011-7-30 11:06:47 | 显示全部楼层
一般加sleep 就会有效降低cpu的啊
再加长点..
 楼主| 发表于 2011-7-31 09:21:17 | 显示全部楼层
while 1
_winapi_emptyworkingset()
  if WinActive("消息提示1") Then
    Send("{Enter}")
  EndIf
...
netegg 发表于 2011-7-30 06:53


万分感谢!!!
加了_winapi_emptyworkingset() 后,效果明显,CPU占用率50%左右了。
看了一下帮助,这个函数是用来“删除进程指定作业尽可能多的页面”,是什么意思?它的常规作用是什么?
发表于 2011-7-31 09:59:53 | 显示全部楼层
回复 12# psplimp

说白点,就是整理内存
页面内存是以页为单位存储的
 楼主| 发表于 2011-7-31 11:35:43 | 显示全部楼层
感谢楼上的解释
 楼主| 发表于 2011-7-31 13:29:22 | 显示全部楼层
我怎么没找到改分类为“已解决”的选项???
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-28 22:17 , Processed in 0.146965 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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