Автокликер Clickermann :: Форум
Основной раздел => Общие вопросы => Topic started by: mahadin on August 12, 2015, 01:03:09 AM
-
такой вопрос, сколько должно быть waitms в зацикленном скрипте, чтобы он вообще не нагружал проц, к примеру через каждые "n-oe" число строчек скрипта, должен стоять waitms("n", хотелось бы узнать оптимальное число ms)
-
50 мс обычно хватает
-
50 мс обычно хватает
один waitms(50) в конце скрипта, или их несколько должно быть? у меня с одним всеравно грузит +10-15% к цп
-
"в зацикленном скрипте"... смотря что в этом скрипте.
Как минимум должна быть одна задержка в каждом цикле FOR/WHILE, если в цикле анализ экрана или клики или запись/чтение файлов. Задержка должна выполняться всегда, пока цикл не завершился.
Если отключена задержка в конф. файле, как у меня, то обязательна задержка практически после каждого клика/нажатия клавиатуры. Да и вообще желательно, все клики разные и стандартная задержка всем не подходит.
Желательно разбавить скрипт в местах последовательных GETSCREEN. Если идут функции работы с экраном несколько штук подряд, то нужно учесть и варианты когда по логике скрипт будет проскакивать условия ничего не делая или в которых задержки не будут работать.
Пример:
GETSCREEN
IF(PXL(100, 100) = 255)
$n = $s * 10 + 320
END_IF
IF(PXL(100, 100) = 14284031)
$n = $s * 5 + 160
mysub($n)
END_IF
GETSCREEN
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 255)
MOVE(10,10)
WAITMS(30)
END_IF
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "file1.bmp")
LCLICK($_return1,$_return2)
WAITMS(100)
END_IF
Если при работе этого кода все поиски ничего не дадут и условия не выполнятся, то загрузка проца вырастет из-за череды GETSCREEN-поиск/условие
-
"в зацикленном скрипте"... смотря что в этом скрипте.
Как минимум должна быть одна задержка в каждом цикле FOR/WHILE, если в цикле анализ экрана или клики или запись/чтение файлов. Задержка должна выполняться всегда, пока цикл не завершился.
Если отключена задержка в конф. файле, как у меня, то обязательна задержка практически после каждого клика/нажатия клавиатуры. Да и вообще желательно, все клики разные и стандартная задержка всем не подходит.
Желательно разбавить скрипт в местах последовательных GETSCREEN. Если идут функции работы с экраном несколько штук подряд, то нужно учесть и варианты когда по логике скрипт будет проскакивать условия ничего не делая или в которых задержки не будут работать.
Пример:
[spoiler]GETSCREEN
IF(PXL(100, 100) = 255)
$n = $s * 10 + 320
END_IF
IF(PXL(100, 100) = 14284031)
$n = $s * 5 + 160
mysub($n)
END_IF
GETSCREEN
IF_PIXEL_IN(0,0,$_xmax,$_ymax, 255)
MOVE(10,10)
WAITMS(30)
END_IF
GETSCREEN
IF_PICTURE_IN (0,0,$_xmax,$_ymax, "file1.bmp")
LCLICK($_return1,$_return2)
WAITMS(100)
END_IF
[/spoiler]
Если при работе этого кода все поиски ничего не дадут и условия не выполнятся, то загрузка проца вырастет из-за череды GETSCREEN-поиск/условие
спасибо за пояснение
вот мой скрипт
bbb:
GETSCREEN
IF_PIXEL_IN (167,9,167,9,760320)
KEYPRESS(#N)
waitms(160)
goto(aaa)
ELSE
waitms(160)
goto(aaa)
END_IF
aaa:
GETSCREEN
IF_PIXEL_IN (167,30,167,30,760320)
KEYPRESS(#M)
waitms(160)
goto(ccc)
ELSE
waitms(160)
goto(ccc)
END_IF
ccc:
GETSCREEN
IF_PIXEL_IN (167,51,167,51,760320)
KEYPRESS(#J)
waitms(160)
goto(bbb)
ELSE
WAITMS(160)
goto(bbb)
END_IF
долго тестировал и выявил что проц не нагружается только лиш при 160 мс, но при этом четкость работы скрипта немножко снижается, при 100 мс проц нагружался на 2-5%
-
$t=10
GETSCREEN(167,9,168,52)
IF(pxl(167,9,167,9) = 760320)
KEYPRESS(#N)
END_IF
waitms($t)
IF(pxl(167,30,167,30) = 760320)
KEYPRESS(#M)
END_IF
waitms($t)
IF(pxl(167,51,167,51) = 760320)
KEYPRESS(#J)
END_IF
waitms($t)
нагрузка на проц - 0%
код не верный, неохота исправлять, необращяйте вни мания
-
Ты в курсе что твои ГОТО в скрипте не играю никакой роли и если их убрать все будет выполняться точно также? Если сократить область снимка GETSCREEN нагрузка уменьшится, особенно если у тебя монитор 1900+
Вот оптимальный код
GETSCREEN(167,9,167,51)
IF(PXL(167,9) = 760320)
KEYPRESS(#N)
waitms(160)
GETSCREEN(167,9,167,51)
END_IF
IF(PXL(167,30) = 760320)
KEYPRESS(#M)
waitms(160)
GETSCREEN(167,9,167,51)
END_IF
IF(PXL(167,51) = 760320)
KEYPRESS(#J)
waitms(160)
GETSCREEN(167,9,167,51)
END_IF
WAITMS(50) // общая задержка
-
нагрузка на проц - 0%
Что за хрень ты там понаписал. ;D Слишком много цифр
-
исправил :D
пфффффф, необращяйте внимание, чето у меня помутнения какието, неисправил
-
исправил :D
Функция PXL ищет в одной точке, поэтому нужны 2а числа а не четыре!
IF(PXL(167,9) = 760320)
-
нашел причину почему проц грузился, надо было почиститься прогой HiJackThis после нее проц не грузится даже при 30мс, странно конечно, но видимо из за забитого реестра что то не так работало.
-
Вроде бы пока не пофиксили, поэтому
GETSCREEN(167,9,168,52)
-
нашел причину почему проц грузился, надо было почиститься прогой HiJackThis после нее проц не грузится даже при 30мс, странно конечно, но видимо из за забитого реестра что то не так работало
Это реклама программы? :D ;D ;D
-
нашел причину почему проц грузился, надо было почиститься прогой HiJackThis после нее проц не грузится даже при 30мс, странно конечно, но видимо из за забитого реестра что то не так работало
Это реклама программы? :D ;D ;D
нет, небыло такой цели, если здесь запрещено называть другие программы то извините, уберу. Просто сказал на всякий случай, вдруг у кого проц грузиться будет
-
Нет. Просто так звучит похоже.
P.S. Там смайлы...
-
Вроде бы пока не пофиксили, поэтому
GETSCREEN(167,9,168,52)
Пофиксили!
-
Ну и хорошо. Не проверял просто, делаю с коррекцией.
Тем более что эта версия - Clickermann v4.11 build 003 выложина для скачивания только на форуме, а не на главном сайте. Там вообще build 000. Люди скачивают максимум её.
Не редко сталкиваюсь, что используют даже не 4.11, а старее. Чаще других 4.10
-
Тем более что эта версия - Clickermann v4.11 build 003 выложина для скачивания только на форуме, а не на главном сайте. Там вообще build 000. Люди скачивают максимум её.
Все там обновлено, v4.11 build 003 самая последняя со всеми исправлениями. Да надпись стоило бы исправить.
-
Написано 000, вот и думаю 000. Кто его будет перекачивать и сравнивать, правда или нет.
Привык верить написанному.