Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   [help] Script пожирает CPU 100% (http://forum.oszone.net/showthread.php?t=126255)

kagorec 17-12-2008 16:37 983108

[help] Script пожирает CPU 100%
 
Написал скриптик который от нажатия правой ышки переключает кнопки клавтатуры с 1 по 3 (нужно для игры)
Просьба местным Гуру посмотреть код, проблема в том что когда активирую скомпиленный скрипт то проц нагружается на все 100%
Где копать, и почеу так происходит что такой мелкий скрипт нагружает по полной?

читать дальше »
Код:

Opt("SendKeyDelay", 1)

HotKeySet("{F9}", "Bambam")
HotKeySet("{F11}","Leave")
HotKeySet("{F10}", "StopGo")

Global $count = 1, $halt = False
while 1
    sleep(50)
WEnd

Func Bambam()
    $halt = false
    While 1
       
        If _IsPressed("02") Then; if  right mouse button pressed
            Send(String($count))
           
            while _IsPressed("02");wait for key to be released
                       
                sleep(30)
            WEnd
           
            $count += 1
            If $count > 3 Then $count = 1
        EndIf
        if $halt then return
                               

    WEnd
EndFunc  ;==>Bambam



Func StopGo();stop reacting to mouse button
    $halt = True
EndFunc  ;==>StopGo

Func Leave()
    Exit
EndFunc


hb860 17-12-2008 16:58 983127

Код:

while 1
    sleep(50)
WEnd

Это что за цикл такой? Он и вешает поди

kagorec 17-12-2008 22:09 983440

А без него скрип даже не запускается, скрипт из нескольких собрал. Рад что он заработал но разочарование пришло когда увидел перегруженный проц 100% ... интерстно этот вечный цикл с 50 милисекунд можно както заменить? простое закоментирование непомогает.

rdn80 24-12-2008 12:16 988880

Sleep(500) сделай вместо Sleep(50)
это нужно для того, чтобы скрипт не закрылся...

АйТишнег 31-12-2008 21:50 994719

В функции BamBam в цикле while 1 ... wend пропиши GuiGetMsg() или Sleep(5). Для цикла в основной части скрипта указывай любое значение для Sleepа.


Время: 20:58.

Время: 20:58.
© OSzone.net 2001-