Тема: AHK: медленно обрабатывается скрипт и нет нагрузки на ЦПУ
Доброй ночи, подскажите кто нибудь, как заставить работать AHK быстрее, а именно интересует оператор WHILE.
Задача следующая:
берется цвет одной точки в окне игры
PixelGetColor, L%i%, %x1%,% y%i%
и сравнивается с заранее известным цветом и если цвет не совпадает, то выполняется нажатие клавишы, но если цвета равны, то цикл продолжается
вот сам код
i=0
y=0
x1=425
shag=15
nachalo=220
loop 16 ; назначаем цвета
{
y%i%:=nachalo + shag*i
PixelGetColor, L%i%, %x1%,% y%i%
i++
}
i=0
y=0
loop 2000
{
PixelGetColor, color, %x1%,% y%i% ; берем цвет в нужной точке
while % color = L%i% ;сравниваем с заранее установленной
{
ToolTip %i%
i++
PixelGetColor, color, %x1%,% y%i%
if (i > 15) ;прокручиваем i число раз и возвращаемся с первой точки
{
i=0
PixelGetColor, color, %x1%,% y%i%
}
}
ToolTip Send {left} ;жмем на клавишу при различных цветах
}
в общем не всегда (я бы сказал редко) успевает он реагировать на изменения в этих точках, т.к. скорость изменения там не более полсекунды.
я заметил, что при выполнение скрипта, процессор вообще не нагружается. у меня CORE i7 (4 ядра по 2,9Mhz + 4 от гипертрейдинга) + 8гигов оперы. что может быть не знаю. кстати, другой скрипт делал, но там меньше точек, смотрел у себя и у друга, так у него циклы в пару десятков или сотен раз быстрее идет, проверял, вставляя ToolTip % a_index .
Вообще, хотелось бы в идеале раскидать определенные точки по разным ядрам и выполнять сравнение параллельно, но не знаю как это сделать, т.к. только осваиваю AHK.
У кого есть какие идеи буду признателен за помощь;)