Что нового

[Мышь, клавиатура] Оптимизация кода

Viktor19870628

Новичок
Сообщения
38
Репутация
0
Здравствуйте!!!
Очень прошу накидать вариантов оптимизации вот такого примитива:
Код:
#include <Misc.au3>
Opt('MustDeclareVars', 1)
Opt("PixelCoordMode", 1)
Opt("MouseCoordMode", 1)
Opt("MouseClickDownDelay", 10)
Global $Hueta
Global $Mueta

While 1
	$Mueta = PixelSearch(640, 512,641, 513,0x030100,15,1)
If IsArray($Mueta) = True Then
	sleep(65)
		ah()
EndIf
	WEnd	
Func ah()
	$Hueta = PixelSearch(160, 210,160, 70,0xff2626,15,1)
If IsArray($Hueta) = True Then
    MouseClick('left')
	EndIf
	EndFunc
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Viktor19870628
Код:
;#include <Misc.au3> Не используется в вашем примере
;Opt('MustDeclareVars', 1) В вашем примере можно обойтись без переменных
;Opt("PixelCoordMode", 1) По умолчанию 1
;Opt("MouseCoordMode", 1) По умолчанию 1
;Opt("MouseClickDownDelay", 10) По умолчанию 10
;Global $Hueta (Серьезно?) В вашем примере можно обойтись без переменных
;Global $Mueta  В вашем примере можно обойтись без переменных

While Sleep(10) ;Чтобы уменьшить нагрузку на процессор, но если это замедление сильно влияет на результат можете убрать
	PixelSearch(640, 512, 641, 513, 0x030100, 15)
	If Not @error Then
		Sleep(65)
		PixelSearch(160, 210, 160, 70, 0xFF2626, 15)
		If Not @error Then MouseClick("left")
	EndIf
WEnd
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Viktor19870628, забей. Вся эта оптимизация трехстрочного кода $Hueta
 
Автор
V

Viktor19870628

Новичок
Сообщения
38
Репутация
0
joiner сказал(а):
Viktor19870628, забей. Вся эта оптимизация трехстрочного кода $Hueta
Работает с задержками или перебоями.Что не есть хорошо для моей задумки.
 
Автор
V

Viktor19870628

Новичок
Сообщения
38
Репутация
0
Tempo сказал(а):
Viktor19870628 сказал(а):

На какой строке выдает ошибку? В примере весь код?
Не походит такой вариант. с функцией скрипт действует четче в игре. а вот лишнее повырезал расширил зону поиска для первой задачи и увеличил градацию для второй вроде стал на порядок чаще срабатывать.
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Viktor19870628 сказал(а):
Не походит такой вариант. с функцией скрипт действует четче в игре. а вот лишнее повырезал расширил зону поиска для первой задачи и увеличил градацию для второй вроде стал на порядок чаще срабатывать.

Но причем тут ошибка если вам просто не подходит такой вариант? С функцией четче? Никаких плюсов от использования функции в вашей ситуации нет. Может стоит лучше продумать условия?
 
Автор
V

Viktor19870628

Новичок
Сообщения
38
Репутация
0
Работает в 95% случаев. остальное мне кажется действительно уже зависит от неправильной реализации идеи.
Код:
Global $Hueta
Global $Mueta
While 1
	$Mueta = PixelSearch(639, 511,642, 514,0x030100,15,1)
If IsArray($Mueta) = True Then
	sleep(65)
		ah()
EndIf
	WEnd	
Func ah()
	$Hueta = PixelSearch(160, 210,160, 70,0xff2626,25,1)
If IsArray($Hueta) = True Then
    MouseClick('left')
	sleep(200)
	EndIf
	EndFunc
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Viktor19870628, а чем вам проверка по макросу @error не подошла? Зачем это лишнее приравнивание к True?
 
Автор
V

Viktor19870628

Новичок
Сообщения
38
Репутация
0
Tempo сказал(а):
Viktor19870628, а чем вам проверка по макросу @error не подошла? Зачем это лишнее приравнивание к True?
Пробовал - на мой взгляд работает не так быстро.
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Viktor19870628, попробуйте использовать таймеры. Взгляд не лучшее решение для проверки скорости
 
Автор
V

Viktor19870628

Новичок
Сообщения
38
Репутация
0
Tempo сказал(а):
Viktor19870628, попробуйте использовать таймеры. Взгляд не лучшее решение для проверки скорости
Скорость меня на данный момент устраивает, а вот срабатывания через раз надо устранить.
 

Tempo

AutoIT Гуру
Сообщения
616
Репутация
205
Viktor19870628 сказал(а):
Пробовал - на мой взгляд работает не так быстро.

Скорость меня на данный момент устраивает, а вот срабатывания через раз надо устранить.

Вы сами себе противоречите. Срабатывает через раз значит условия не подходят. Если хотите оптимизации самих условий выкладывайте скриношоты и показывайте то что вы ищете PixelSearch может есть варианты получше
 
Верх