1

Тема: 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.
У кого есть какие идеи буду признателен за помощь;)

2

Re: AHK: медленно обрабатывается скрипт и нет нагрузки на ЦПУ

проблема решилась запуском скрипта на ХР и полной его переписки с помощью PixelSearch. От сюда появился другой вопрос, как на семерке увеличить производительность АНК?

3 (изменено: mih, 2011-10-10 00:15:42)

Re: AHK: медленно обрабатывается скрипт и нет нагрузки на ЦПУ

Я совсем не специалист, и знаю единственный способ убыстрить скрипт: поставить в начале строку: SetBatchLines, -1
Также посмотрите варианты команды Send, это влияет на скорость вывода.

4

Re: AHK: медленно обрабатывается скрипт и нет нагрузки на ЦПУ

SetBatchLines, -1 ставил, но все равно было не то что надо, на ХР и более слабом компе цыклы выполнялись с громаднолй скоростью 1 к 100 по сравнению с семеркой.
с командой Send не колдовал ничего, попробуй, спасибо за подсказку.
Хотелось бы услышать тех, кто пробовал один и тот же скрипт выполнять на ХР и на 7ке и была ли у них разница.