精易论坛

标题: 循环加速——(测试四倍左右)解决很多人在循环中处理事件带来的速度影响可谓神优化... [打印本页]

作者: Best|秋雨    时间: 2015-6-7 10:19
标题: 循环加速——(测试四倍左右)解决很多人在循环中处理事件带来的速度影响可谓神优化...
本帖最后由 Best|秋雨 于 2015-6-8 10:06 编辑
循环中加入处理事件虽然是降低了CPU的占用、程序错误率等..但循环速度显然慢了近10倍左右(大家回去可试下不加入处理事件的循环与加入处理事件循环的用时)用我们下面的处理事件优化。可大幅地、有效地减少处理事件所带来的循环速度明显降低的缺点。



getinputstate   

    该函数确定在当前线程消息队列中是否有要处理的鼠标,键盘消息.事件是描述硬件级输入的一个记录,鼠标事件发生用户按下一个或多个键时.函数原型: BOOL GetInputState(VOID);


个人结论:WINDOWS自带函数快速判断是否发生了鼠标,键盘输入线程队列事件。如果发生,则返回非零值。当判断返回的值≠0则进行处理事件的判定等待消息队列的发送完毕。从而加速了循环。


          提速近4倍!!大量数据处理的神优化!{:soso__2457407252889246704_3:}

                                                   
         刮开→ 评分不再扣自己的精币及好评了!您的评分是最大的支持!


这里感谢"近在眼前"提供的源码!@stuhk 你有病吧?
处理事件优化.zip (1.83 KB, 下载次数: 938)














补充内容 (2015-6-9 10:04):
”为何我的循环中加入了处理事件()循环速度没有减慢?“ ——这可能因为循环次数少、空代码循环。效果不明显。
作者: Sunnnny    时间: 2015-6-7 10:30
太棒了,支持
作者: 邪意邪神    时间: 2015-6-7 10:54
太棒了,支持
作者: 邪意邪神    时间: 2015-6-7 10:54
地板是我1的


作者: bangyou    时间: 2015-6-7 11:16
下载下来了,看下,只是没有什么大型处理啊
作者: 小沐儿    时间: 2015-6-7 11:17
拿来学习咯 谢谢
作者: lcc123    时间: 2015-6-7 11:26
还不错的吧。。看标题就震撼了。
作者: ~夜雨    时间: 2015-6-7 13:06
确实有效果
作者: Best|秋雨    时间: 2015-6-7 17:51
lcc123 发表于 2015-6-7 11:26
还不错的吧。。看标题就震撼了。

哈哈
作者: 说说互赞互评    时间: 2015-6-7 19:22
下载看看有没有效果        
作者: Godsteal    时间: 2015-6-8 06:35
那也要看已循环次数啊!处理事件()命令是等待电脑操作-完毕-在进行循环:所以慢是肯定的:感觉楼主主题有BG-
作者: InstallTest    时间: 2015-6-8 06:36
学习,支持。
作者: 石头君    时间: 2015-6-8 08:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: 石头君    时间: 2015-6-8 08:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: Best|秋雨    时间: 2015-6-8 08:46
本帖最后由 Best|秋雨 于 2015-6-8 08:53 编辑
Godsteal 发表于 2015-6-8 06:35
那也要看已循环次数啊!处理事件()命令是等待电脑操作-完毕-在进行循环:所以慢是肯定的:感觉 ...

getinputstate 这个函数是直接判断消息队列是否有等待输入和未发送的事件如果有就返回非零值。 监测到消息队列中有待完成的事件以后执行下面的处理事件 通过这个处理事件 进程线程进行等待处理 如果未监测到 则不执行处理事件。就是这么个原理
作者: 天天星期八    时间: 2015-6-8 09:32
收藏备用。嘿嘿
作者: 天线宝宝    时间: 2015-6-9 07:46
学习学习>>>>>>>>>
作者: ppt110    时间: 2015-6-9 09:49
跟精易_处理事件() 一样么?
作者: Best|秋雨    时间: 2015-6-9 10:02
ppt110 发表于 2015-6-9 09:49
跟精易_处理事件() 一样么?

这个真没注意!
作者: 网络注册会员    时间: 2015-6-9 10:12
支持一下我来试试
作者: fab861122    时间: 2015-6-10 13:30
不错、谢谢分享!
作者: 领略    时间: 2015-6-10 13:42
十分感谢,我每次都要处理10W的循环 ,有了这个提升太快了
作者: linyuntai    时间: 2015-6-13 09:19
学习了,谢谢分享
作者: dyx128    时间: 2015-8-23 05:19

不错、谢谢分享!

作者: canglaoshi    时间: 2015-8-31 00:43
不错、谢谢分享!
作者: 笨猴    时间: 2015-9-15 19:04
学习学习>>>>>>>>>

作者: ck66    时间: 2015-11-17 12:51
感谢您的分享
作者: ck66    时间: 2015-11-17 12:54
Best|秋雨 发表于 2015-6-9 10:02
这个真没注意!

跟精易的是一样
作者: 小白20141024    时间: 2016-4-20 10:29
看看处理超多文本时怎么样
作者: 秋来潮汐    时间: 2016-5-22 15:14
感谢分享
作者: 1157374899    时间: 2018-5-1 15:19
可以,很给力楼主
作者: 网络注册会员    时间: 2018-5-3 15:34
顶楼主一下
作者: cpu001071    时间: 2018-5-3 20:03
确实厉害啊
作者: fyeekuang    时间: 2018-11-17 19:12
学习一下,感谢楼主
作者: 你来我深情不拥    时间: 2019-2-3 22:09
我很想要这个玩意 但是知道用处在哪
作者: 精品易语言    时间: 2019-2-16 22:59
一个亿就止提速了500毫秒,再加点东西就比不加速的慢了
作者: weifenggogo    时间: 2019-3-10 12:17
谢谢分享!!!
作者: 凌波微步    时间: 2019-4-27 16:35
来看看这个神优化
作者: a921569    时间: 2019-5-29 20:56
支持支持,感谢分享!
作者: 刘科    时间: 2019-7-25 12:28
11111111111111111111111111
作者: 铁血勇士    时间: 2019-8-4 23:30
谢谢分享  学习一下
作者: 相伴    时间: 2019-11-8 18:41
里感谢"近在眼前"提供的
作者: 相伴    时间: 2019-11-8 18:41
里感谢"近在眼前"提供的
作者: 相伴    时间: 2019-11-8 18:43
里感谢"近在眼前"提供的里感谢"近在眼前"提供的
作者: 相伴    时间: 2019-11-10 12:05
500毫秒,再加点东西就比不加速的慢了
作者: 2313291647    时间: 2020-4-8 00:00
66666666666666
作者: laoxia    时间: 2020-6-10 00:40
里感谢"近在眼前"提供的
作者: indexasp    时间: 2020-7-15 17:15
这个有点意思,测试下看
作者: 木鱼真心    时间: 2020-8-3 23:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: wmt666    时间: 2020-8-5 03:59
看看效果如何
作者: 630879085    时间: 2020-8-17 17:17
感谢分享!!!
作者: 2161045897    时间: 2021-1-21 16:14
感谢分享~~~~~~~~~~~~~~
作者: winnerzyy    时间: 2021-6-15 02:22
感谢分享,很给力!~
作者: huzhiqiang1995    时间: 2021-11-13 16:30
目前在研究post提交识别验证码时候程序卡死导致日志什么的都不能正常运行
作者: a'ゞゞゞゞ小号    时间: 2022-2-5 17:26
学习一下
作者: dingli123    时间: 2022-2-10 20:03
感谢!!!!!!!!!!!!!!!
作者: wblank    时间: 2022-3-19 11:38
感谢分享
作者: 18074941457    时间: 2022-4-1 23:55
感谢!!!!!!!!!!!!!!!
作者: Best|秋雨    时间: 2022-4-19 19:05
huzhiqiang1995 发表于 2021-11-13 16:30
目前在研究post提交识别验证码时候程序卡死导致日志什么的都不能正常运行

用线程即可
作者: huzhiqiang1995    时间: 2022-4-22 20:04
Best|秋雨 发表于 2022-4-19 19:05
用线程即可

谢谢,我后面就是改的单线程处理
作者: brave09    时间: 2022-5-27 00:32
为何我的循环中加入了处理事件()循环速度没有减慢?
作者: JYYeah    时间: 2022-7-6 17:33

感谢分享,很给力!~
作者: han15070727425    时间: 2022-7-6 17:43
我看看
作者: benbenyw    时间: 2022-8-19 10:29
之前就遇到这个问题,加入处理事件()如果窗口是激活的,会很慢,但是窗口如果最小化,速度蹭蹭的
作者: cfvgbhnj    时间: 2022-10-12 13:01
支持开源~!感谢分享
作者: 梦雨心君    时间: 2022-10-29 12:04
提速近4倍!!
作者: 杰西卡技术传媒    时间: 2022-11-12 14:58
        感谢分享,很给力!~
作者: Best|秋雨    时间: 2022-12-3 15:19
huzhiqiang1995 发表于 2022-4-22 20:04
谢谢,我后面就是改的单线程处理

对,一般网页访问类的最好使用线程处理,因为服务器数据到达软件存在些许延迟,这期间会导致程序停止响应呈现“卡死”状态等待验证码下载完成。所以使用线程,会让上述操作在“后台”运行,不会影响程序其他工作的正常进行。
作者: youxigw    时间: 2022-12-24 12:19
给力啊。。。
作者: qazyqs520    时间: 2023-3-30 16:22
牛逼                            1                      1
作者: 289099734    时间: 2023-5-12 09:09
这么牛逼吗?下载试试
作者: 289099734    时间: 2023-5-12 09:10
试试就试试,还差一个精币了!
作者: 837199157    时间: 2023-5-14 16:32
卧槽,牛啊,牛皮牛皮,确实快
作者: 小布仕奇    时间: 2023-6-10 08:37
6666666666666666666666666666666666666666666
作者: losercock    时间: 2023-7-12 17:44
牛的,效果非常明显
作者: 园神凛绪    时间: 2023-7-14 20:35
试试就试试,还差一个精币了!
作者: 做好学生    时间: 2023-7-19 08:48
试试就试试
作者: xtscfyc    时间: 2023-8-4 06:48
记得有这帖子的,现在用到 再次回头看看
作者: huaiman    时间: 2023-10-24 10:39
下载试试
作者: xiaowei1234    时间: 2024-3-15 23:36
牛6666666666666
作者: xiaowei1234    时间: 2024-3-15 23:37
谢谢谢谢11111111111111111
作者: 007软件    时间: 2024-3-27 07:00
来学习一下
作者: xf702    时间: 2024-3-31 21:34
学习一下。。。
作者: yangdashi    时间: 2024-4-3 03:13
可以哦,这个真的可以
作者: nejun    时间: 2024-5-17 12:47
6666666666666
作者: ccerty    时间: 2024-5-17 12:49

谢谢谢谢11111111111111111
作者: wwjjwwjj    时间: 2024-10-17 16:37
6666666666666
作者: 木木的树    时间: 2024-10-22 15:29
66666666666666666666
作者: ningshunchu    时间: 2024-11-7 16:51
支持开源~!感谢分享
作者: errorerror    时间: 2024-12-4 11:34
都市传说大V方式单位v无法v我饿等我
作者: wangshiyuan    时间: 2024-12-10 21:35
下载测试的看看  先感谢了
作者: wolfpack    时间: 2024-12-12 14:56

作者: xiaoli1100    时间: 2025-4-5 18:38
支持开源~!感谢分享
作者: 1485859263    时间: 2025-5-2 02:06
感谢分享
作者: XJxaiojing    时间: 2025-5-2 06:52
干货满满,学到了!
作者: XJxaiojing    时间: 2025-5-2 08:17
干货满满,学到了!
作者: 美味萝卜    时间: 2025-5-24 17:26
支持开源~!感谢分享




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4