Zireael |
Отправлено: 19 Ноября, 2017 - 17:21:13
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
CODE:int Image[30][30], PosX[1], PosY[1];
loadimage (#Image[0][0], "C:\Users\abc\Desktop\Resurrection.bmp");
win w = window (-1, "l2UnrealWWindowsViewportWindow", -1);
int time = gettime();
for(int i=1; i < 10; i++)
{
if (findimage(1, #Image[0][0], 255, #PosX[0], #PosY[0], 0, 0, 1920, 1080, 5, 5, 5, 5, 5, 5, 80, 1, w) > 0)
{
}
}
textout (1, 200, 200, format(gettime() - time), 1);
sleep(3000);
Ради теста. Искомое изображение находится в правом нижнем углу. Затрачено 15500 мсек, этот же скрипт в пилоте 530 мсек. Почему такая разница? |
|
|
Zireael |
Отправлено: 19 Ноября, 2017 - 22:52:06
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: Время поиска в пилоте не зависит от положения и насколько я понял от разбежности.
От положения не сильно зависит, от разбежности только при больших значениях. От точности не зависит вообще, она вычисляется после поиска, а не во время.
Цитата: Я не знаю что означает быстрый и точный режим поиска в пилоте.. По моему режим должен быть надежным..
Надёжный использовался давно, когда только функция была реализована. Сейчас не актуален. По сути сейчас есть 3 вида поиска, 2 (быстрый, по умолчанию, работает только в активном окне, несмотря на название самый медленный, т. к. 16мсек уходит только на получение снимка экрана, 33мсек на win7 с аэро). Т. е. на получение изображения уходит времени больше чем на обработку. Также есть поиск в окне, тот что сейчас тестили и ещё поиск на скрине хранящемся в памяти.
код в Kibor (Отобразить)
int Image[30][30], PosX[1], PosY[1];
loadimage (#Image[0][0], "C:\Users\abc\Desktop\Resurrection.bmp" ;
win w = window (-1, "l2UnrealWWindowsViewportWindow", -1);
int time = gettime();
for(int i=0; i < 10; i++)
{
if (findimage(1, #Image[0][0], 255, #PosX[0], #PosY[0], 0, 0, 1920, 1080, 0,0,0,0,0,0, 98, 1, w) > 0)
{
}
}
textout (1, 200, 200, format(gettime() - time), 1);
sleep(2000);
код в UoPilot (Отобразить)// Открыть в Paint картинку Безымянный.bmp
// навести курсор на неё, нажать Ctrl + A
// запустить скрипт
set %a [1] LoadImage (Resurrection.bmp) // загрузка картинки Resurrection.bmp из папки с пилотом
set #time timer // теущее время с момента запуска скрипта
for #i 1 10 // цикл от 1 до 10 с шагом 1
set #a findimage(0 0 1920 1080 (%a [1 1]) %arr workwindow 98 1 0) // поиск
if #a > 0 // если найдено
//move %arr [1 1] %arr [1 2] // навести курсор на скил
end_if
end_for
set #time2 timer - #time // текущее время - время перед поиском
hint (24 clred 200 200 -1 -1 (#time2))
end_script]
В коде менял только область поиска. Искать 1 картинку, точность 98, разбежность 0. Полученное время делил на 10, т. к. цикл на 10 шагов. С разбежностью не тестил, думаю разница будет ещё больше.
Результаты Kibor (Отобразить)Искомое изображение в левом верхнем углу:
Область поиска: 0 0 45 42 - 16 мсек на поиск 1 картинки
Область поиска: 0 0 921 653 - 20 мсек на поиск 1 картинки
Область поиска: 0 0 1920 1080 - 53 мсек на поиск
Искомое изображение в правом нижнем углу:
Область поиска: 0 0 921 653 - 69 мсек на поиск
Область поиска: 0 0 1920 1080 - 133 мсек на поиск
Результаты UoPilot (Отобразить)Искомое изображение в левом верхнем углу:
Область поиска: 0 0 45 42 - 8 мсек на поиск 1 картинки
Область поиска: 0 0 921 653 - 12 мсек на поиск 1 картинки
Область поиска: 0 0 1920 1080 - 24 мсек на поиск 1 картинки
Искомое изображение в правом нижнем углу:
Область поиска: 0 0 921 653 - 16 мсек на поиск 1 картинки
Область поиска: 0 0 1920 1080 - 31 мсек на поиск 1 картинки (Отредактировано автором: 19 Ноября, 2017 - 22:52:43) |
|
|
Kibor |
Отправлено: 19 Ноября, 2017 - 23:10:42
|
Эксперт
Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
Zireael пишет: С разбежностью не тестил, думаю разница будет ещё больше
findimage(1, #Image[0][0], 255, #PosX[0], #PosY[0], 0, 0, 1920, 1080, 0,0,0,0,0,0, 98, 1, w) это и есть с разбежностью..
для полного совпадения надо использовать короткую функцию
findimage(1, #Image[0][0], 255, #PosX[0], #PosY[0], 0, 0, 1920, 1080, w)
у нее совсем другое время.. побыстрее намного.
и не обязательно использовать фоновый цвет(255) если не надо. а ставить -1
ну а вообще интересно.. независимость от зоны.
В кибор по крайне мере есть зависимость.
Zireael пишет: Результаты
странно.. почему у меня наоборот..
Короче я не знаю. При правильном использование параметров проблем со скоростью поиска не возникает абсолютно. |
|
|
|