Ты там не забыл системные переменные в обычные занести, это как оказалось тоже оптимизирует.
$xmax = $_xmax
$ymax = $_ymax
именно в них и была причина.
ну чтож, с автоитом все вышло, здорово, и скорость мега. жаль что я в автоите не силен
, изредка использую в случаях где нужны быстрые вычисления. и при написании в нем - из ушей мозг вытекает. тут еще нужно учитывать, что для каждой версии кликера свой указатель адреса. а так, переписать GREYSCALE на контраст я думаю не составит труда... тебе
вернемся к моим бредовым идеям. удалось только лишь используя кликер ускорится почти в 3 раза
. да, этот результат и рядом не стоит с автоитовским.
суть идеи такова. один кликер использует наши мега компьютеры с дюжинами камней лишь на малый процент всей мощности. у меня вариант GREYSCALE с записью в память нагружает проц всего на 12-14%. при этом участок 100х100 обрабатывается 52-55сек. попробовал разделить нагрузку на несколько экземпляров программы. тоесть один исполняемый кликерман делает скрин и запускает на выполнение определенное количество кликерманов.
GETSCREEN(0,0,100,100)
INIWRITE ("speed.ini", "n_win",0)
INIWRITE ("speed.ini","pid",4992)
waitms(10)
$time = $_ms
FOR($a=0,$a<5)
EXECUTE("speed.cms")
waitms(120)
END_CYC
WHILE(WNDFIND ("speed")>0)
waitms(100)
END_CYC
print($_ms - $time,"ms.")
SCREENSHOTEX(0,0, 100,100, "Image_", 0)
halt
а они редактируют память первого.
#autorun
$n_win = INIREAD("speed.ini","n_win")+1
INIWRITE ("speed.ini", "n_win",$n_win)
$xmax = $_xmax
$ymax = $_ymax
$pid = INIREAD("speed.ini","pid")
GETSCREEN(($n_win-1)*20,0,($n_win-1)*20+20,100)
GREYSCALE(($n_win-1)*20,0,($n_win-1)*20+20,100)
halt(1)
первый ожидает окончания работы до последнего.... и готово. пару часиков наладки и тестов - и в итоге стало ясно, что если запустить кучу процессов, то все это начинает жутко тупить, и работа замедляется. но, тесты показали, что оптимальное количество к-манов - пять штук. пять процессов (плюс один во главе) смогли нагрузить процессор почти до 80%. время выполнения участка 100х100 уменьшилось до 18-19сек.