原帖内容
star175

2014-9-23 17:54


这个改法有缺陷
被修改是延时函数,剧本里有些设置了延时的地方也变快了

改进之后的写法

0042F7F0  /$  55            PUSH EBP
0042F7F1  |.  8BEC          MOV EBP,ESP
0042F7F3  |.  51            PUSH ECX
0042F7F4  |.  6A 01         PUSH 1                                   ; /Timeout = 1. ms
0042F7F6  |.  FF15 44614800 CALL DWORD PTR DS:[<&KERNEL32.Sleep>]    ; \Sleep
0042F7FC  |.  8B4D FC       MOV ECX,DWORD PTR SS:[EBP-4]
0042F7FF  |.  E8 75CCFFFF   CALL Ekd5.0042C479
0042F804  |.  F7D8          NEG EAX
0042F806  |.  1BC0          SBB EAX,EAX
0042F808  |.  40            INC EAX
0042F809  |.  8BE5          MOV ESP,EBP
0042F80B  |.  5D            POP EBP
0042F80C  \.  C3            RETN

改了之后cpu使用率下来了,也不影响其他的延时效果

只要让cpu稍微休息一下就行了

41C2DA处不用改

[ 本帖最后由 star175 于 2014-9-23 17:59 编辑 ]

用户名时间功绩理由
godtype 2014-9-23 18:02 +300 我一直在等着你出手!!!!!




当前时区 GMT+8, 现在时间是 2024-11-24 11:29
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.007557 second(s), 6 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP