Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Всё тот же анализ точек
rsdk
сообщение 25.3.2014, 15:04
Сообщение #1


**

Neophyte
Сообщений: 24
Регистрация: 14.11.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.427



Код
    set #count 0
    if 22, 30 4474495
        set #count #count + 1
    end_if
    if 23, 76 4474495
        set #count #count + 1
    end_if
    if 22, 123 1251183
        set #count #count + 1
    end_if
    if 24, 167 6316683
        set #count #count + 1
    end_if
    if 24, 214 4474495
        set #count #count + 1
    end_if
    if 23, 260 4474495
        set #count #count + 1
    end_if
    if 24, 307 1251183
        set #count #count + 1
    end_if
    if 23, 353 1251183
        set #count #count + 1
    end_if

есть вот такой код.
нужно ускорить. нужно чтобы производился поиск цвета а-ля финдколор, с выводом количества найденых точек, но не в области, а в заданных точках. кто чего может посоветовать?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 27.3.2014, 13:11
Сообщение #2


***********

Модератор UOPilot
Сообщений: 9.477
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27899
Пользователь №: 11.279



1) Дублирующиеся цвета я бы попробовал все-таки перевести в findcolor. Насколько это реально - надо смотреть конкретную ситуацию.
2) Вместо if'a можно попробовать использовать findcolor с одной точкой поиска и обязательно со вторым методом поиска цвета. Проводимые когда-то тесты дали забавные результаты.
3) Можно попробовать использовать функцию color (не get color, а именно color). Есть серьезное подозрение, что это очень облегченный findcolor.
4) Использовать односимвольные переменные, убрать лишние запятые - дает неплохой прирост при переборе массивов. Тут конечно не те объемы, но все же что-то даст.
5) Ну и set linedelay 0, если это почему-то еще не было сделано.
6) Так же отключите слежение за ходом скрипта - даст большой прирост.

Сообщение отредактировал DarkMaster - 27.3.2014, 13:13


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
rsdk
сообщение 28.3.2014, 16:27
Сообщение #3


**

Neophyte
Сообщений: 24
Регистрация: 14.11.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 16.427



Цитата(DarkMaster @ 27.3.2014, 20:11) *

1) Дублирующиеся цвета я бы попробовал все-таки перевести в findcolor. Насколько это реально - надо смотреть конкретную ситуацию.
2) Вместо if'a можно попробовать использовать findcolor с одной точкой поиска и обязательно со вторым методом поиска цвета. Проводимые когда-то тесты дали забавные результаты.
3) Можно попробовать использовать функцию color (не get color, а именно color). Есть серьезное подозрение, что это очень облегченный findcolor.
4) Использовать односимвольные переменные, убрать лишние запятые - дает неплохой прирост при переборе массивов. Тут конечно не те объемы, но все же что-то даст.
5) Ну и set linedelay 0, если это почему-то еще не было сделано.
6) Так же отключите слежение за ходом скрипта - даст большой прирост.

попробую вначале результаты финдколора записывать в массив, а потом перебирать. хотя не думаю, что даст прироста.
5 стояло, 6 поставил, дало прирост.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
WKnight
сообщение 5.5.2014, 13:11
Сообщение #4


********

Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006
Группа: Пользователи
Наличность: 0
Пользователь №: 4.688



Цитата
3) Можно попробовать использовать функцию color (не get color, а именно color). Есть серьезное подозрение, что это очень облегченный findcolor.
Это по сути одно и тоже. Разница только в разборе параметров.
При отсутствии хендла рабочего окна - это обычный гетпиксель, при наличии - "старый" финдколор.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 21.5.2024, 16:51
Designed by Nickostyle