|
68 / 33 / 11
Регистрация: 18.07.2014
Сообщений: 263
|
|
Побитовые операции с памятью16.03.2020, 18:01. Показов 12634. Ответов 150
Метки нет (Все метки)
Есть ли в Delphi какие-нибудь функции чтобы побитово сделать and or xor not с двумя произвольными кусками памяти? Можно чтобы это были обязательно два равных по длине куска, неважно.
Например для сравнения двух кусков есть очень быстрая функция CompareMem.
0
|
|
| 16.03.2020, 18:01 | |
|
Ответы с готовыми решениями:
150
Побитовые операции Побитовые операции побитовые операции |
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
|
| 29.03.2020, 13:41 | |
|
Там в заголовке MessageBox указывается имя функции, которая не найдена. Драйверы на видеокарту поставь
0
|
|
|
68 / 33 / 11
Регистрация: 18.07.2014
Сообщений: 263
|
|
| 29.03.2020, 14:07 [ТС] | |
|
glCreateProgram, glCreateShader, glShaderSource, glCompileShader, glAttachShader, glLinkProgram, glUseProgram, glGenBuffers, glBindBufferBase, glBufferData, glActiveTexture, glGetUniformLocation, glUniform1i, glMapBufferRange, glUnmapBuffer, glGetShaderInfoLog, glGetProgramInfoLog, glGetShaderiv, glGetProgramiv. Пойду комп ребутну) Дрова то стоят, только я обновлял их сегодня и комп не перезагружал.
Добавлено через 9 минут Нет, увы, не помогло.
0
|
|
|
240 / 218 / 46
Регистрация: 17.04.2010
Сообщений: 526
|
||
| 29.03.2020, 14:17 | ||
|
а вот с прозрачностью уже на порядки дольше: но даже так это значительно быстрее чем 90 сек... Однако, в данном примере, для однозначной идентификации объекта прозрачность ненужна, достаточно выбрать уникальный фрагмент из непрозрачной части семпла.
0
|
||
|
68 / 33 / 11
Регистрация: 18.07.2014
Сообщений: 263
|
|
| 29.03.2020, 14:47 [ТС] | |
|
x128, Самый лучший мой результат это 1100 без прозрачности и 1700мсек с прозрачностью ечли искать честно и 1200мсек если искать по 6 точкам. Изображение 26х19 на большом 1600х1200 и координаты 1354х1072.
Добавлено через 17 секунд А ты с помощью какого алгоритма искал? Добавлено через 3 минуты К слову функция murderer, находит примерно тоже самое, с оговорками на размер семпла (там 32х32) с прозрачностью и подготовкой альфы всего за 14мсек.
0
|
|
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
|
| 29.03.2020, 14:54 | |
|
Скорее всего wglCreateContext не отрабатывает. Я изменил код инициализации и добавил больше проверок на ошибки.
0
|
|
|
68 / 33 / 11
Регистрация: 18.07.2014
Сообщений: 263
|
|
| 29.03.2020, 14:57 [ТС] | |
|
Вот такие ошибки выдаёт.
0
|
|
|
68 / 33 / 11
Регистрация: 18.07.2014
Сообщений: 263
|
|
| 29.03.2020, 14:58 [ТС] | |
|
Причём сейчас он пытается искать и как ему кажется находит что-то в левом нижнем углу. А нет, это один раз его пробило на поиски.
0
|
|
|
68 / 33 / 11
Регистрация: 18.07.2014
Сообщений: 263
|
|
| 29.03.2020, 15:29 [ТС] | |
|
murderer, О, а с #version 460 core работает. А для неё есть какие-то ограничения ра ширину сэмпла? И картинки так же 32 бита с альфой должны быть?
0
|
|
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
|
| 29.03.2020, 15:36 | |
|
Целевой скриншот должен быть 32-битным (альфу заполнять не надо), сэмпл такой же как для версии с SSE2, но без ограничений на размеры. Вообще раньше видеокарты поддерживали только текстуры со сторонами, равными степени двойки, но сейчас видимо таких ограничений нет, нужно почитать, что-нибудь на эту тему.
0
|
|
|
68 / 33 / 11
Регистрация: 18.07.2014
Сообщений: 263
|
|
| 29.03.2020, 15:49 [ТС] | |
|
Не могу ему свои картинки скормить правильно. Если с прозрачным цветом то находит в 0х1168. А что самое интересное если без прозрачного цвета, то находит в 570х1162 потом в 574х1146 потом в 626х1162 ну в общем в примерно таких рандомных координатах. При этом все они не верные. И работает намного медленнее чем через SSE2.
Добавлено через 8 минут Причём эти рандомные координаты зависят от размеров окна (хотя я передаю размеры TBitmap который сам гружу). Чем больше окно, там дальше координаты и тем дольше ищет.
0
|
|
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
||
| 29.03.2020, 16:04 | ||
0
|
||
|
240 / 218 / 46
Регистрация: 17.04.2010
Сообщений: 526
|
||
| 29.03.2020, 16:05 | ||
|
Если понимать, что конкретно нужно и какие есть ограничения или особенности, можно придумать оптимальную стратегию.
0
|
||
|
68 / 33 / 11
Регистрация: 18.07.2014
Сообщений: 263
|
|
| 29.03.2020, 16:13 [ТС] | |
|
x128, Странно. У меня перебор намного дольше работал. Ну естественно, при первом несоответствии оно тоже дальше шло. Я потом доработал этот перебор, чтобы сравнивать сразу BGR цвет, время сократилось вдвое, то есть примерно 42 секунды стало. После этого я окончательно забил на перебор. Кстати опорные точки я генерю раскручивающейся спиралью (Так получается, что чем больше изображение тем меньше точек, в центре точек больше, к краям меньше. На 25х19 семпл получается например 6 точек, а если секпл будет чуть меньше 1600х1200 то точек будет 15 или около того). А потом для каждой точки ищу ближайшую непрозрачную, если она попала в цвет прозрачности. Потом может ради прикола попробую по 5 точкам, но это на правах опыта)
0
|
|
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
|
| 29.03.2020, 17:14 | |
|
Переделал - теперь изображение рендерится в FBO (Раньше рисовалось в Back Buffer) и размеры окна никак не должны повлиять на результат. Теперь если изображение не найдено, то result будет содержать (-1;-1), как и должно быть.
0
|
|
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
||
| 29.03.2020, 17:17 | ||
0
|
||
|
68 / 33 / 11
Регистрация: 18.07.2014
Сообщений: 263
|
|
| 29.03.2020, 17:43 [ТС] | |
|
murderer, я FormCreate вообще не трогал, свой код писал внутри кнопки. Твоего кота у меня за 5мс находит, а через SSE2 за 0. А с моей картинкой он ищет примерно 200 мс, но там время тоже рандомное, бывает и 40 и 80 и 100, 262 было максимум, и находит неправильно, а через SSE2 находит за 16мс, ну или если не может найти то 100 с чем-то, я так и не понял почему намного дольше ищет если найти не может.
0
|
|
| 29.03.2020, 17:46 | |
|
Не по теме: Вот именно за этим форум и создавался... Не дебилам домашки решать, а обсуждать нормальные проблемы...
0
|
|
|
68 / 33 / 11
Регистрация: 18.07.2014
Сообщений: 263
|
|
| 29.03.2020, 17:49 [ТС] | |
|
Сейчас кстати подсунул образец с прозрачностью и развернул окно. Его находит за 20мсек и координаты верные. Но если окно маленькой, то координаты неверные выдаёт.
0
|
|
|
4195 / 1841 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
|
||
| 29.03.2020, 18:12 | ||
0
|
||
| 29.03.2020, 18:12 | |
|
Побитовые операции Побитовые операции Побитовые операции Побитовые операции
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|