Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Без описания
Shpilim1991
Отправлено: 18 Сентября, 2014 - 21:20:28
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 36
Дата рег-ции: Авг. 2014  
Репутация: 0




Играю в игруху на андроид эмуляторе (в 3 окна). Для каждого окна свой скрипт со своим фрагментом экрана для поиска. Запускаю 2 штуки и эмули уже подлагивают (фпс падает). Без кибора они работают как часики. Попробовал сделать разные папки с нарезками для каждого скрипта, попробовал вставить микропаузы, не помогло. Подскажите как облегчить сиё детище.
По которому ресурсу проседает комп тоже неизвестно, в диспетчере ресурсы на половине. Благодарочка!



Превысил лимит. Качайте
тут (Отобразить)
 
 Top
Kibor
Отправлено: 19 Сентября, 2014 - 08:34:00
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Shpilim1991 пишет:
как облегчить сиё детище

использовать поиск не на экране а в окне по указателям.
использовать рис не 400 на 200

не совсем ясна логика поиска двух картинок если надо только одна
 Цитата:
if(findimage(2, #bb[0][0], 0, #PosX_0[0], #PosY_0[0],500, 0, 1000, 550, -1)==1){mouse(LEFT,PosX_0[0]+500, PosY_0[0]);}


разве только что надо отследить наличие одной тока из возможных двух.
иначе используйте поиск
 Цитата:
if(findimage(1, #bb[0][0], 0, #PosX_0, #PosY_0,500, 0, 1000, 550, -1)==1){mouse(LEFT,PosX_0+500, PosY_0);}


так же почитайте тему(для просмотра ссылки Вам необходимо авторизоваться) для этого случая
 
 Top
Shpilim1991
Отправлено: 19 Сентября, 2014 - 11:39:50
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 36
Дата рег-ции: Авг. 2014  
Репутация: 0




 Kibor пишет:
 Shpilim1991 пишет:
как облегчить сиё детище

использовать поиск не на экране а в окне по указателям.
использовать рис не 400 на 200

не совсем ясна логика поиска двух картинок если надо только одна
 Цитата:
if(findimage(2, #bb[0][0], 0, #PosX_0[0], #PosY_0[0],500, 0, 1000, 550, -1)==1){mouse(LEFT,PosX_0[0]+500, PosY_0[0]);}


разве только что надо отследить наличие одной тока из возможных двух.
иначе используйте поиск
 Цитата:
if(findimage(1, #bb[0][0], 0, #PosX_0, #PosY_0,500, 0, 1000, 550, -1)==1){mouse(LEFT,PosX_0+500, PosY_0);}


так же почитайте тему(для просмотра ссылки Вам необходимо авторизоваться) Благодарочка! Я кстати нашел основную причину, из-за отсутствия микропауз между действиями. Я их ставил но не между каждым действием. 50 мсек между 3-4 действиями(так глючило). ПОставил 10-20 мсек между каждым, комп перестал глючить. Еще раз благодарочка.
для этого случая
 
 Top
Shpilim1991
Отправлено: 19 Сентября, 2014 - 16:02:00
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 36
Дата рег-ции: Авг. 2014  
Репутация: 0




Хотелось бы ещё вопросик.

Если мне нужно сканировать динамичный экран на 25 возможных его вариантов.
Сут динамики в игре такова. Нажал кнопку- пошла динамика (до 10 секунд) - завмерла.
Динамику сканировать не нужно, игра всё время приходит к какой-то картинке с парой динамичных пикселей на экране.(о них говорить не стоит так как варианты действий = статические)

Я сообразил поиск по 25 вариантам таким образом:

F:
Ищем картинку 1 - выполняем действие ;
sleep(50);
...........
sleep(50);
Ищем картинку 2 - выполняем действие ;
goto F;

Первое, это если между действиями фактическая задержка равна почти нулю, то он ждёт повтора цикла = простой. Ставлю меньше - жрёт больше ресурса = меньше окон.

В итоге что получаеться, процессор всё это время сканирует экран с интервалом 50 мсек и ищет выполнение одного из условий.

Основная цель вопроса - минимизация ресурсозатраты, так как ресурсы = окна, окна = профит.

Имея достаточно под рукой "список всех комманд".

Есть картинки которые исполюзуються раз в 10 - 15 минут, но если вдруг клиент кританёт, а цикл будет реально их проверять раз в 10-15 минут то будет простой каждые пол часа по 10-15 минут т.к. критует часто.

Логические последовательности картинок так же не допустимы. Нужно тупо сканить на 25 изображений ежесекундно, чтобы ежесекундно принимать решения.

Суть вопроса: Какой логикой и какими коммандами мне сканировать экран на те 25 картинок максимально еффективно с точки зрения ресурсоёмкости?
 
 Top
Kibor
Отправлено: 19 Сентября, 2014 - 16:22:22
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




делать скрин и искать в нем(для просмотра ссылки Вам необходимо авторизоваться)
 
 Top
Shpilim1991
Отправлено: 19 Сентября, 2014 - 16:26:56
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 36
Дата рег-ции: Авг. 2014  
Репутация: 0




[quote=Kibor]делать скрин и искать в нем(для просмотра ссылки Вам необходимо авторизоваться) /quote]

Тоесть делать 25 скринов в секунду выйдет еффективней? Попробуем!

Насчет проги. Открівают Кибор-графика - Сtr+shift+S на клиент отметил галочку "окно" и почему-то кибор не можєт сканировать изображение с єтого клиента. Сканирует только один раз и все остальные "обновить" дают одну и туже картинку. Это для привязки к окну. Потому, как сейчас я сканирую 4 зоны рабочего стола, в которых разместил 4 клиента.
(для просмотра ссылки Вам необходимо авторизоваться)
Eto VirtualMachine Player на базе Virtualbox. Я юзаю его для управления андроидом.
 
 Top
Kibor
Отправлено: 19 Сентября, 2014 - 16:29:42
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




делать 1 скрин перед всеми поисками findimage
в теме написано...
по поводу скрина графики не знаю
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by