|
|
  |
Помогите освоить LUA |
|
|
sutra |
30.1.2019, 17:29
|
      
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007

|
Разницы между структурой и неструктурой я тоже не выявил. У меня даже со структурой получилось чуть медленнее. Хрен знает, чего там lua сам про себя делает, может всё равно какое-то преобразование типов выполняет. Грубо говоря, осязаемого прироста я добиться не смог. И наверное овчинка выделки не стоит. От тормозов надо избавляться всё-таки оптимизацией математики, но опять же если юзер будет искать всегда в диапазоне 1920х1080, да ещё и 1000 картинок, ну кто ему поможет??
По уму конечно, целиком бы всё делать на СИ. Но это уже не мой уровень, да и вопрос опять всё тот же, А НАДО??
|
|
|
|
sutra |
30.1.2019, 17:47
|
      
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007

|
Может ещё попробую использовать вместо таблиц СИ-шные массивы, но уж больно не читаемо получается, а если делать двойную (повторную) инициализацию (массив[0]=таблица.r1) внутри функций, то же вопрос. При малых зонах поиска и при частых вызовах запросто может получиться даже медленнее. Будет время, потестирую и так и так.
В общем закономерность очевидная. Либо красиво и читаемо, но медленнее, либо чуток быстрее, но код будет полная абракадабра, через год сам не поймёшь чего наваял. Этак можно действительно и до АСМа "докатиться". Ну тестану ещё разок, поделюсь результатами, хотя уверен, ничего нового и революционного не открою.
|
|
|
|
sutra |
31.1.2019, 2:35
|
      
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007

|
Да самопальным методом можно всё вытащить и биты и всё, что угодно. Интересно с вами господа. А вот скажите-ка мне, какое принципиальное отличие в сценарии (скажем изначально задуманное) известнейшего фильма "Ирония судьбы или с лёгким паром" между двумя персонажами, которых играют Андрей Мягков и Юрий Яковлев? Понимаю, что никто не ответит, но для меня и молчание будет ответом и про себя буду думать, а кому "великое по плечу"? То, что эту тему читают, я не сомневаюсь. Вот вам логический вопрос. Цитата Я считаю оба формата (скрин и искомое) должны быть стандартным бмпшником Да, но вот тебе Дарк, великое точно по плечу. Только великое не создать стандартным подходом. Не надо замыкаться на догмах! Я даже для себя составил психологические портреты многих участников форума. Тебе Дарк, на мой взгляд, не хватает ну какой-то свободы мысли. У тебя мощная база, но ты пытаешься всегда решить все вопросы по принципу - это возможно ... я обязательно что-нибудь придумаю ... вот я уже нащупал нить идеи и т.д. И обязательно, чтобы это было приемлемо для всех. Эх! Огорчу, всем ну никак не угодить. Дарк - это моя лучшая интерпретация психологического портрета. Ты - действительно мастер своего дела. Кнайт? Тоже мастер, но он очень интересный человек, я пока только в частностях его понимаю, на нём большой груз ответственности за начатое им дело, а оно не может не лежать грузом ...
|
|
|
|
sutra |
31.1.2019, 13:48
|
      
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007

|
Дарк, а что мы скажем юзерам, которые играют в игру "Найди 5 отличий", ну или не знаю как там она называется. Смысл там такой, наоборот, найти различия в картинках. Надо тогда задавать и такой параметр поиска, ну что бы уж все были довольны. В общем, концепция распознавания чата у меня есть, но только функция поиска картинок будет иметь косвенное применение, а если точнее, нужно "рисовать" специализированную вещь, со своим алгоритмом. Стандартным подходом распознать будет явно проблематично, хотя у меня слишком мало данных, чтобы делать однозначные выводы, ну если сотворишь, как и говорил - сниму шляпу.
|
|
|
|
sutra |
1.2.2019, 14:12
|
      
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007

|
Цитата как быстро искать отличия без всяких скрыптов и за тры секунды Согласен, конечно можно, правда 3 сек. - это Вы явно преувеличили. Без скрипта за 3 сек. не получится. Так я без всякого скрипта и чат читаю, вот уж действительно не совру секунд за 5 несколько строк сразу. А про разгалагольствования, Вы правы, бывает люблю потрепаться. Ну а про дело? Делом занимается Кнайт. Дарк тоже занимается в своей стезе. Остальные - разглагольствуют (я больше всех). Правда, что-то я кроме своих выкладок здесь пока ещё не видел, чтобы кто-то, чего-то, более менее стабильно искал. Своё дело - я делаю и уверяю Вас вполне неплохо. Просто появляются мысли, вот и делюсь ими типа пожеланий на будущие реализации. И я просто не согласен с Дарком, по поводу ОДНОЗНАЧНЫХ БМПшников, вот и выражаю своё мнение в нестандартном виде. Иногда сухой сленг просто утомляет мозг. И ещё про дело. Мне вот две задачки подкинули - я дал нестандартное решение. Хотя, даже если всегда подсовывать даже БМПшник прицела, всё равно он будет искаться во-первых 100%, а во вторых НАМНОГО быстрее. Будет желание и время кину сюда готовый скрипт как всё это просто делается.
|
|
|
|
cirus |
1.2.2019, 18:55
|

         
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26760
Пользователь №: 16.971
Возраст: 29

|
Цитата local arr=ffi.new("uint16_t[n][5]") Код local arr=ffi.new("uint16_t[" .. n .."]") Цитата arr=ffi.new("uint16_t[100][5]") Объявить массив на 500 элементов. Код arr=ffi.new("uint16_t[500]") Допустим массив arr[100][5], те же 500 элементов одномерного. Обратиться к элементу arr[40][2] arr[100*2+40]
|
|
|
|
sutra |
1.2.2019, 22:54
|
      
Adept
Сообщений: 923
Регистрация: 10.8.2018 Группа: Пользователи Наличность: 0
Пользователь №: 19.007

|
Цитата local arr=ffi.new("uint16_t[" .. n .."]") Сайрус, извини, не въезжаю я что-то, как такая штука будет работать. Вариант одномерного массива тоже не устраивает. Массив (пока таблица) нужен для возврата параметров найденных пикселей. Было вот так: Код arr[k]={x=j,y=i,red=r,green=g,blue=b} А надо, чтобы было так: Код Что меня бесит, что задача то плёвая (ну не бывает проще, мозгов вообще не требует), а такие у меня вызывает трудности. Инициализация структуры выполнялась так: Код ffi.cdef[[typedef struct{uint16_t x,y; uint8_t red,green,blue;}xyrgb]] local arr=ffi.new("xyrgb[?]",math.min(numf,(fx2-fx1+1)*(fy2-fy1+1))) Мне надо тоже самое сделать с обычным массивом.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|