Author Topic: if picture in потребление ресурсов  (Read 6666 times)

0 Members and 1 Guest are viewing this topic.

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
if picture in потребление ресурсов
« on: March 17, 2014, 08:44:48 AM »
Заметил что достаточно большую нагрузку создаёт       getscreen/if_picture_in а ведь это основной инструмент в кликере.
Не уверен что поможет но все же, можно потестить и сравнить. Jonny есть такая возможность?
Getscreen(x1,y1,x2,y2,colormode1,colormode2)
Сохранение экрана в буфер с нужной областью в colormode1 и всей остальной в colormode2.


aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: if picture in потребление ресурсов
« Reply #1 on: March 21, 2014, 11:13:58 PM »
какие параметры могут значительно снизить нагрузку?

-размер искомого изображения
-% соостветствия
-размер области поиска
-колормод?

очень озадачился увеличением производительности/скорости выполнения скрипта

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: if picture in потребление ресурсов
« Reply #2 on: March 22, 2014, 10:23:21 AM »
какие параметры могут значительно снизить нагрузку?

-размер искомого изображения
-% соостветствия
-размер области поиска
-колормод?

очень озадачился увеличением производительности/скорости выполнения скрипта

Нагрузку на проц в основном дает GETSCREEN

Скорость нахождения повысится если:
размер искомого изображения маленький 50x50 или меньше, лучше 10х10
% соостветствия высокий (100%) Чем ниже процент тем дольше поиск.
Чем меньше область поиска тем быстрее.
COLORMODE(6, 200,200, 400,400) - для цветокоррекции тоже лучше ограничить область воздействия

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: if picture in потребление ресурсов
« Reply #3 on: March 22, 2014, 10:34:12 AM »
какие параметры могут значительно снизить нагрузку?

-размер искомого изображения
-% соостветствия
-размер области поиска
-колормод?

очень озадачился увеличением производительности/скорости выполнения скрипта
Для увеличения скорости 1 и 3 нужно уменьшать. 4 не использовать (или уменьшать область). 2 увеличивать.


Atas

  • Активный участник
  • ***
  • Posts: 147
    • View Profile
Re: if picture in потребление ресурсов
« Reply #4 on: March 22, 2014, 12:19:31 PM »
Размер искомого изображения и особенно размер области поиска, частенько, просто нельзя изменить, они диктуются условиями поставленной задачи. Независимо от их значений, отказаться от них мы не можем. Уменьшаем их до предела, пока (в идеальном случае) IF_PICTURE_IN() не удастся заменить на IF_PIXEL_IN() или на PXL() .
А вот от колормода и %_совпадения можно отказаться полностью. Причём, колормод приходится применять, только для того, чтобы повысить %_совпадения. Хотя, колормод можно применять не на весь экран, а только на небольшую область (не знаю даст ли это выигрыш во времени). Но %_совпадения, по моему, самое зло и применять его следует только если совсем некуда деваться. По моему, лучше увеличить значение COLORMODE() и полностью отказаться от %_совпадения.

Вот тут, очень красивое решение для рассчета процента совпадения: http://crapware.aidf.org/forum/index.php?topic=1022.msg4329#msg4329

Всё это только моё мнение и однозначный ответ на вопрос "Какое из Зол Хуже?", дать сложно. Я бы проголосовал за %_совпадения. :)

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: if picture in потребление ресурсов
« Reply #5 on: March 22, 2014, 03:11:34 PM »
значит будем проверять и тестировать

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: if picture in потребление ресурсов
« Reply #6 on: March 22, 2014, 08:04:26 PM »
Размер искомого изображения и особенно размер области поиска, частенько, просто нельзя изменить, они диктуются условиями поставленной задачи. Независимо от их значений, отказаться от них мы не можем. Уменьшаем их до предела, пока (в идеальном случае) IF_PICTURE_IN() не удастся заменить на IF_PIXEL_IN() или на PXL() .
А вот от колормода и %_совпадения можно отказаться полностью. Причём, колормод приходится применять, только для того, чтобы повысить %_совпадения. Хотя, колормод можно применять не на весь экран, а только на небольшую область (не знаю даст ли это выигрыш во времени). Но %_совпадения, по моему, самое зло и применять его следует только если совсем некуда деваться. По моему, лучше увеличить значение COLORMODE() и полностью отказаться от %_совпадения.

Вот тут, очень красивое решение для рассчета процента совпадения: http://crapware.aidf.org/forum/index.php?topic=1022.msg4329#msg4329

Всё это только моё мнение и однозначный ответ на вопрос "Какое из Зол Хуже?", дать сложно. Я бы проголосовал за %_совпадения. :)
Размер искомого изображения очень сильно влияет, и на замедление от процента в том числе. Часто размер задают бездумно большИм. У меня заготовки в 99% случаев имеют размеры от 5х5 до 10х10. Очень очень редко проскакивают побольше (вытянутые до 30 по одной из сторон).
Область для применения колормода тоже влияет не слабо. Когда этих параметров не было любое применение колормода жутко просаживало скорость. Кто пользовался тот знает.

По поводу процента, да. При чём чем меньше процент, тем медленней. Ну это понятно.

Если используется сглаживание, без колормода не обойтись часто вместе с процентом.
« Last Edit: March 22, 2014, 08:07:36 PM by Vint »