|
Разработка findcolor, findimage, Pure lua |
|
|
|
|
Ответов
DarkMaster |
26.3.2021, 0:34
|
Модератор UOPilot
Сообщений: 9.477
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27918
Пользователь №: 11.279
|
Из забавного. Речь пойдет о чтении из памяти данных, которые уже существуют, их размер известен. Т.е. сознательно двигаются указатели, в т.ч. происходит выход за пределы массива (мы уверены, что за пределами массива все так же находятся данные). При тестах инициализация массивов, присвоение начальных адресов были вынесены за пределы бенчмарка. Т.е. непосредственно время обращения в if'ов.
local p = ffi.new("unsigned char[3]") - тормоз. Гораздо эфективнее использовать конструкцию: local p = ffi.new("unsigned char[1]") двигая указатель на массив.
еще шустрее использовать: ffi.cast("unsigned char*",address) при этом если объявить: local rmem = ffi.cast rmem("unsigned char*",address) то дополнительно выиграем в скорости.
rmem ("unsigned char*",i)[0],rmem ("unsigned char*",i+1)[0],rmem ("unsigned char*",i+2)[0] проигрывает в скорости: rmem ("unsigned char*",i)[0],rmem ("unsigned char*",i)[1],rmem ("unsigned char*",i)[2] при этом вполне очевидно, что полей [1], [2] не существует, но все прекрасно работает - проверок на выходы за пределы массивов в ffi нет.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
Сообщений в этой теме
DarkMaster Разработка findcolor, findimage 24.3.2021, 18:01 sutra Я в теме. Я давно отказался от передачи массивов. ... 25.3.2021, 16:34 DarkMaster
Ловлю на слове. Пока хочу допилить, то, что есть,... 25.3.2021, 17:12 sutra Не помню сколько у меня на фул хд. Я же сказал при... 25.3.2021, 17:28 DarkMaster
Ты где тут нашел адекватного?) Ну а вообще тесты ... 25.3.2021, 17:28 sutra Да я понял, но у меня в основном нагрузка на файнд... 25.3.2021, 17:42 DarkMaster По поводу создания изображений и помощи валенкам у... 25.3.2021, 17:50 sutra Ну вот, зачем спрашивается лопатить фул хд. Разбил... 26.3.2021, 16:43 DarkMaster ну вообще типа да, но типа нет. Поуму нужно делать... 26.3.2021, 16:49 sutra rmem ("unsigned char*",i)[2]
Я собствен... 26.3.2021, 17:07 DarkMaster Автор Cirus
--lua
local ffi = require("ffi... 26.3.2021, 17:31 sutra Понял лишь в общих чертах. Вопрос, а в файл сохран... 26.3.2021, 17:58 DarkMaster
Вот этот момент не совсем ясен. Почему 0 0? Почем... 26.3.2021, 18:00 sutra Я правильно понимаю, что мне надо добавить возврат... 26.3.2021, 18:11 DarkMaster Пока кроме скорости ничего не тестил, по идее он в... 26.3.2021, 18:15 sutra ОК. Буду ждать новостей. Cirus-у отдельное БОЛЬШОЕ... 26.3.2021, 18:16 cirus
Потому что 0 0 это координаты куда скопировать из... 27.3.2021, 1:59 DarkMaster Накидал кучу вопросов Cirus'у и надеюсь, что о... 27.3.2021, 11:41 DarkMaster Собственно то, как вот оно есть.
-- findcolor
-- Ф... 27.3.2021, 13:42 cirus
--lua
local ffi = require("ffi")
... 27.3.2021, 21:21 sutra Дарк, прочитал мануал. Что точно нужно добавить - ... 28.3.2021, 10:15 sutra Для чего нужен шаг? Например для поиска активной р... 28.3.2021, 10:41 DarkMaster Как весело провести вечер и утро.
А знаете ли вы,... 28.3.2021, 12:31 sutra Попробовал новый getimage. Работает намного быстре... 28.3.2021, 13:43 DarkMaster
А максимума нет. Размер окна может быть намного б... 28.3.2021, 13:54 sutra Насколько я понимаю, по уму надо бы возвращать адр... 28.3.2021, 13:59 DarkMaster
Я так и делаю.
Все скоро будет =) 28.3.2021, 14:03 DarkMaster Бэкапу пару дней. !@#$ notepad++ 28.3.2021, 23:12 sutra А тут как дела? Подвижки есть? 29.3.2021, 15:11 DarkMaster
Есть, откатился из-за чудес выше до момента пока ... 29.3.2021, 15:51 DarkMaster Захват изображения. Вот так вроде похоже на правду... 29.3.2021, 17:09 Cockney
Ну и идейно я делаю замену пилотовских функций с ... 29.3.2021, 20:33 DarkMaster
Планов очень много, идей очень много. Я очень не ... 29.3.2021, 21:00 Cockney
Планов очень много, идей очень много. Я очень не ... 29.3.2021, 23:47 DarkMaster Если угодно - сглазить не хочу.
Блокнот реально по... 29.3.2021, 23:55 sutra Ну вот, я явился возмутителем спокойствия и благод... 30.3.2021, 11:51 sutra Попробовал сохранить картинку. Ничего не получилос... 30.3.2021, 13:16 cirus
Это начало bmp файла BM.
Указать другую папку, в... 30.3.2021, 13:43 sutra Создаёт файл 14 байт. Доступ к нему действительно ... 30.3.2021, 15:31 sutra Последовательно пишу заголовок. Перегружаю Пилот, ... 30.3.2021, 15:44 sutra Дарк, что-то я не понял как пользоваться твоим ими... 30.3.2021, 17:38 DarkMaster Значит так. Версия из активной разработки. Дальше ... 30.3.2021, 17:38 DarkMaster --lua
local ffi=require "ffi"
local rmem=... 30.3.2021, 17:46 sutra Ни хрена себе ты наворочал. Тут месяц надо разбира... 30.3.2021, 17:47 DarkMaster ext.lg - перекочевало из другого скрипта, в рамках... 30.3.2021, 17:47 sutra Конечно моё мнение субъективно. Но вот зачем вообщ... 30.3.2021, 18:16 DarkMaster
Идейно это был изначально возврат к пилотовскому:... 30.3.2021, 18:19 sutra Может не доглядел (тогда ткни меня носом), но не н... 30.3.2021, 18:34 DarkMaster По разности каналов не делал. В достаточно большой... 30.3.2021, 18:41 sutra Да я всё понимаю. Поэтому и не берусь претендовать... 30.3.2021, 18:43 DarkMaster Если есть любые идеи, как оно должно быть - готов ... 30.3.2021, 18:43 sutra Да, кстати. Что-то у меня не получилось сохранить ... 30.3.2021, 18:45 DarkMaster --lua
local ffi=require "ffi"
local rmem=... 30.3.2021, 18:54 sutra Вот объясните мне почему так? Просто хочу понять, ... 30.3.2021, 20:15 DarkMaster
Это является флагом писать строки сверху-вниз или... 30.3.2021, 20:18 sutra Спасибо, ну примерно так и подозревал. Плохо ничег... 30.3.2021, 20:22 DarkMaster
Ну да, самое крутое не знать и писать. Думаешь я ... 30.3.2021, 20:25 sutra Соответственно 32 битовая модель не требует контро... 30.3.2021, 20:30 Madeus speed = speed + os.clock() - t
Лишняя строчка?) 30.3.2021, 20:32 sutra Эх! Понять бы ещё почему у меня проблемы с зап... 30.3.2021, 20:36 DarkMaster
бенчмарк. Ну для релиза лишняя, для работы не сов... 30.3.2021, 20:42 sutra Перегруз не помог. Нарушается у меня доступ к запи... 30.3.2021, 20:44 Madeus
бенчмарк. Ну для релиза лишняя, для работы не сов... 30.3.2021, 20:59 DarkMaster Можно удалить. Мой код тестов:
speed = 0
catch = 0... 30.3.2021, 21:08 Madeus Если не указать [deviation] вылетает с ошибкой .lu... 30.3.2021, 21:19 DarkMaster
чуть выше писал, что на данный момент только со в... 30.3.2021, 21:27 Madeus У меня одного если не указать "abs" то и... 30.3.2021, 22:51 DarkMaster
Какой метод при поиске указан?
При методе 2 будет... 31.3.2021, 0:00 Madeus
Какой метод при поиске указан?
При методе 2 будет... 31.3.2021, 0:12 DarkMaster Это сделано исключительно для совместимости со ста... 31.3.2021, 0:23 DarkMaster Sutra, я тут в итоге все-таки наткнулся на один уж... 31.3.2021, 0:45 DarkMaster
Кстати низя. Ты никак диапазоном не задашь, что r... 31.3.2021, 2:06 Madeus
Метод 2, тогда понятно, хотя надо проверить скоро... 31.3.2021, 2:06 DarkMaster
В обоих случаях зоны имели одинаковые цвета?
Мето... 31.3.2021, 2:43 cirus
Сделать скрин и искать на скрине, быстрее будет. 31.3.2021, 3:01 DarkMaster 100 прогонов во всех тестах
Фулл хд. Абс выкл.
r ... 31.3.2021, 3:06 Madeus
В целом абс существенным образом не повлияло на о... 31.3.2021, 17:20 sutra
Спасибо Дарк. Конечно так я и сам могу, но по при... 31.3.2021, 11:27 DarkMaster Я его код не тестил. Мне скрины на тот момент были... 31.3.2021, 13:03 DarkMaster Накидал скринилку. Фиксировные битовые константы з... 31.3.2021, 17:44 Madeus
Только в случае, если используется метод 2 или ме... 31.3.2021, 17:51 sutra Тест старого и нового имиджа по хендлу
зона old ... 31.3.2021, 17:59 DarkMaster Круто я когда-то лажанул. Убрал объявление getimag... 31.3.2021, 18:07 Madeus
Круто я когда-то лажанул. Убрал объявление getima... 31.3.2021, 18:14 sutra Хотя тестить в lua - гиблое дело. Можно лишь прибл... 31.3.2021, 18:12 DarkMaster getimage 100 итераций
вызов + удаление изображения... 31.3.2021, 18:44 sutra Дарк, спасибо за скринилку. Всё, на сегодня хватит... 31.3.2021, 19:05 DarkMaster
На самом деле там проблема только одна - он делае... 31.3.2021, 19:23 Madeus Нужно добавить возврат координат найденного цвета,... 31.3.2021, 22:41 DarkMaster Функция возвращает таблицу найденных цветов:
x y ц... 31.3.2021, 23:23 Madeus Проблема в том что она возвращает x y относительно... 1.4.2021, 0:11 DarkMaster Вот для этого тесты и есть =)
Поправлю. Спасибо. 1.4.2021, 0:12 Madeus Супер, спасибо за труды! :) Ждем findimage B) 1.4.2021, 0:17 DarkMaster 1)+ Переделать метод 0 для поиска по относительным... 1.4.2021, 2:12 Madeus
У меня до сих пор тяжелые думы по поводу шага пои... 1.4.2021, 2:35 DarkMaster
Хмм.. Вообще я не то залил, но этот фикс вроде но... 1.4.2021, 2:49 cirus За всё время шаг поиска использовал только 1 раз. ... 1.4.2021, 3:02 Madeus То ли лыжы не едут то ли спать пора. В общем что у... 1.4.2021, 3:04 DarkMaster
И то и другое. Спать пора - я не ту версию залил,... 1.4.2021, 3:19
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|