fcl-web vs synapse

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Re: fcl-web vs synapse

Сообщение Лекс Айрин » 15.11.2017 10:56:14

olegy123 писал(а):Тогда почему они прекратили выпускать видео устройства? И почему наняли разработчика из АМД?


Потому что хотят подучиться. Видеопроцы круче и заточены на многозадачность и параллельность, чем обычные не могут похвастаться.

olegy123 писал(а):Наверное сейчас нужно иметь GPU не только для рендеринга 3D сцен но необходимо для других задач, не связаных с 3D - распаковки упаковки видео, подсчета хеш в биткойнах и т.п.


Для обработки 3D GPU уже мало. Требуется еще и физический движок.

olegy123 писал(а):операционка давно умеет работать со многими ядрами - Unix с 70х~80х прошлого столетия.


Иногда мне кажется, что это уже разучились делать.

olegy123 писал(а):А вот программист редко кто включает трейды.


А ему и не надо. По идее, он и не должен знать использует или нет его программа дополнительные ядра и потоки. Затачивать каждую программу под это бред
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: fcl-web vs synapse

Сообщение olegy123 » 15.11.2017 11:28:16

Лекс Айрин писал(а):А ему и не надо.

Хочу спросить, когда Лекс последний раз включал в код TThread?
Вот я пишу ядро программы на fpc, которая будет работать с большими данными, но хочу сказать что fpc не совсем пригоден для работы с бигдатами..

Код: Выделить всё
  procedure matrix4x4f_scale(z:PGMatrix4x4f;x:PGVector3f);
  procedure matrix4x4f_scale(z:PGMatrix4x4f;x:PGVector4f);

приходится конкретно указывать:
matrix4x4f_scale(@ScaleMatrix4,PGVector3f(@FScale));
иначе компилятор не различает PGVector3f(@FScale) от PGVector4f(@FScale) - лекго может подсунуть под PGVector4f - procedure matrix4x4f_scale(z:PGMatrix4x4f;x:PGVector3f); . WTF.
И непонятно как будет распределятся данные по регистрам в теле функции.. Это еще одна проблема.

Добавлено спустя 2 минуты 50 секунд:
Поэтому приходится работать с указателями, конкретизировать с какими данными и строго понимать как работать с данными в функции.. это очень важно при Thread Safe подходе.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: fcl-web vs synapse

Сообщение zub » 15.11.2017 12:19:15

>>приходится конкретно указывать:
>>Поэтому приходится работать с указателями, конкретизировать с какими данными и строго понимать как работать с данными в функции.. это очень важно при Thread Safe подходе.
ндааа
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: fcl-web vs synapse

Сообщение Лекс Айрин » 15.11.2017 13:01:49

olegy123 писал(а):Хочу спросить, когда Лекс последний раз включал в код TThread?


Никогда. Мне это просто не нужно.

olegy123 писал(а):Вот я пишу ядро программы на fpc, которая будет работать с большими данными, но хочу сказать что fpc не совсем пригоден для работы с бигдатами..

Проблемы негра, как говорится... конечно он НЕ подходит. Для этого нужно необходимый инструментарий написать. Но пока каждый прогер пишет свой велосипед инструментария не будет.

olegy123 писал(а):Поэтому приходится работать с указателями, конкретизировать с какими данными и строго понимать как работать с данными в функции.. это очень важно при Thread Safe подходе.


Работа с указателями при ООП подходе это оксюморон. ООП как раз и задумывалось как одно из средств избежать использования ссылочных типов. Точнее, скрыть использование указателей где-то далеко в недрах компилятора. И да... какой-может быть ООП, если в самом объекте непонятно с какими данными он работает? Может, программа использует неверный подход?

olegy123 писал(а):И непонятно как будет распределятся данные по регистрам в теле функции.. Это еще одна проблема.


Ты пишешь компилятор?
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: fcl-web vs synapse

Сообщение olegy123 » 15.11.2017 15:55:45

Лекс Айрин писал(а):Ты пишешь компилятор?
Пишу. Пока еще не смог разобраться в AST.

Лекс Айрин писал(а):Никогда. Мне это просто не нужно.
Просто не умеешь с ними работать.

Лекс Айрин писал(а):Работа с указателями при ООП подходе это оксюморон. ООП как раз и задумывалось как одно из средств избежать использования ссылочных типов. Точнее, скрыть использование указателей где-то далеко в недрах компилятора.
ООП удобно когда кнопочке нужно кликнуть.. Хотя на деле это тот же record даными с подвязками кода, возможно статического..
но когда у тебя stream поток, и не один, когда нужно за одну секунду обработать тонны информации - простое копирование - может дать просадку. Проще передать указатьеь где данные лежат. Приходится в fpc уходить на уровень, на котором почему то компилятор допускает промахи.

кстати прощу проверить функцию на нахождения определителя матрицы 4x4
Код: Выделить всё
function getDeterminant4x4f(x: PGMatrix4x4f): Single;
begin
  result:=((x^[0,0]*((x^[1,1]*x^[2,2]*x^[3,3])+(x^[1,2]*x^[2,3]*x^[3,1])+(x^[2,1]*x^[3,2]*x^[1,3])-
             (x^[3,1]*x^[2,2]*x^[1,3])-(x^[3,2]*x^[2,3]*x^[1,1])-(x^[1,2]*x^[2,1]*x^[3,3])))
           -(x^[0,1]*((x^[1,0]*x^[2,2]*x^[3,3])+(x^[1,2]*x^[2,3]*x^[3,0])+(x^[2,0]*x^[3,2]*x^[1,3])-
             (x^[3,0]*x^[2,2]*x^[1,3])-(x^[3,2]*x^[2,3]*x^[1,0])-(x^[2,0]*x^[1,2]*x^[3,3])))
           +(x^[0,2]*((x^[1,0]*x^[2,1]*x^[3,3])+(x^[1,1]*x^[2,3]*x^[3,0])+(x^[2,0]*x^[3,1]*x^[1,3])-
             (x^[3,0]*x^[2,1]*x^[1,3])-(x^[3,1]*x^[2,3]*x^[1,0])-(x^[2,0]*x^[1,1]*x^[3,3])))
           -(x^[0,3]*((x^[1,0]*x^[2,1]*x^[3,2])+(x^[1,1]*x^[2,2]*x^[3,0])+(x^[2,0]*x^[3,1]*x^[1,2])-
             (x^[3,0]*x^[2,1]*x^[1,2])-(x^[3,1]*x^[2,2]*x^[1,0])-(x^[2,0]*x^[1,1]*x^[3,2]))));
end;

че то я запутался.

Добавлено спустя 11 минут 56 секунд:
zub писал(а):ндааа

вот думаю так написать
function getDeterminant4x4f(x: PGMatrix4x4f): Single;
или так
procedure getDeterminant4x4f(result:PSingle;x: PGMatrix4x4f);

если значение уйдет в стек - хорошо.. а есть в локальную переменную, то быть беде.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: fcl-web vs synapse

Сообщение Лекс Айрин » 15.11.2017 16:46:37

olegy123 писал(а):Просто не умеешь с ними работать.


Конечно. Потому что нет такой необходимости.

olegy123 писал(а):но когда у тебя stream поток, и не один, когда нужно за одну секунду обработать тонны информации - простое копирование - может дать просадку.


Для этого нужно использовать просто другой подход. Как минимум, основанный на сообщениях. А желательно процесс-ориентированный. А пока у тебя объект это запись с плюшками, ты не сможешь осознать всю глубину пропасти между теорией и ее реализацией.
olegy123 писал(а):кстати прощу проверить функцию на нахождения определителя матрицы 4x4


Используй табы, для выделения строк и столбцов. Ну или отбивай ряды пробелами.

olegy123 писал(а):если значение уйдет в стек - хорошо.. а есть в локальную переменную, то быть беде.


Если это твой компилятор, то как ты захочешь, так и будет. В противном случае ты мало что сделаешь.
Если я помню, то параметры метода идут в стек, а вот внутренние как захочет компилятор.

olegy123 писал(а):вот думаю так написать...


function getDeterminant4on4f(x: PGMatrix4on4f): Single;
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: fcl-web vs synapse

Сообщение olegy123 » 15.11.2017 17:00:52

пожалуйста
Код: Выделить всё
result:=((x^[0,0]*(
                           (x^[1,1]*x^[2,2]*x^[3,3])+
                           (x^[1,2]*x^[2,3]*x^[3,1])+
                           (x^[2,1]*x^[3,2]*x^[1,3])-
                           (x^[3,1]*x^[2,2]*x^[1,3])-
                            (x^[3,2]*x^[2,3]*x^[1,1])-
                            (x^[1,2]*x^[2,1]*x^[3,3])
                            ))
           -(x^[0,1]*(
                           (x^[1,0]*x^[2,2]*x^[3,3])
                          +(x^[1,2]*x^[2,3]*x^[3,0])
                          +(x^[2,0]*x^[3,2]*x^[1,3])
                          -(x^[3,0]*x^[2,2]*x^[1,3])
                          -(x^[3,2]*x^[2,3]*x^[1,0])
                          -(x^[2,0]*x^[1,2]*x^[3,3])
                          ))
           +(x^[0,2]*(
                          (x^[1,0]*x^[2,1]*x^[3,3])
                          +(x^[1,1]*x^[2,3]*x^[3,0])
                          +(x^[2,0]*x^[3,1]*x^[1,3])
                          -(x^[3,0]*x^[2,1]*x^[1,3])
                          -(x^[3,1]*x^[2,3]*x^[1,0])
                          -(x^[2,0]*x^[1,1]*x^[3,3])
                          ))
           -(x^[0,3]*(
                          (x^[1,0]*x^[2,1]*x^[3,2])
                          +(x^[1,1]*x^[2,2]*x^[3,0])
                          +(x^[2,0]*x^[3,1]*x^[1,2])
                          -(x^[3,0]*x^[2,1]*x^[1,2])
                          -(x^[3,1]*x^[2,2]*x^[1,0])
                          -(x^[2,0]*x^[1,1]*x^[3,2])
                          )));


Добавлено спустя 12 минут 54 секунды:
Лекс Айрин писал(а):Для этого нужно использовать просто другой подход. Как минимум, основанный на сообщениях. А желательно процесс-ориентированный. А пока у тебя объект это запись с плюшками, ты не сможешь осознать всю глубину пропасти между теорией и ее реализацией.
Хочу тебя обрадовать - у меня система работает с сообщениями, где каждый объект может написать другому все что думает(прям как мы) и то гарантированно получит мессадж..
Вот мне объясни почему даже топовые карточки, не выдают хороший блур(blur image)- даже при 1920p уже начинают думать о том что им проще манйтить крипту нежели блурить в реальном времени(30fps, а в идеале держать 120fps) картинку ..И как мне за ООПить дату в 1179360 пикселей (1092x1080) = или 4717440 байт? нужен такой алгоритм чтобы процесс не просидал при 141523200 байт/сек или 8491392000байт/мин. 8Тб/мин в минуту полет был нормальный..

Добавлено спустя 3 минуты 37 секунд:
Лекс Айрин писал(а):Если я помню, то параметры метода идут в стек, а вот внутренние как захочет компилятор.

вот поэтому Freepascal не совсем Thread safety.

Добавлено спустя 3 минуты 22 секунды:
Приходится как то выкручиваться..
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: fcl-web vs synapse

Сообщение Лекс Айрин » 15.11.2017 17:40:51

olegy123 писал(а):Хочу тебя обрадовать - у меня система работает с сообщениями, где каждый объект может написать другому все что думает(прям как мы) и то гарантированно получит мессадж..


Т. е. система написана тяп-ляп.

olegy123 писал(а):Вот мне объясни почему даже топовые карточки, не выдают хороший блур(blur image)- даже при 1920p уже начинают думать о том что им проще манйтить крипту нежели блурить в реальном времени(30fps, а в идеале держать 120fps) картинку

Потому что при увеличении размера картинки затраты на ее обработку растут в геометрической процессии. И это не учитывая слоев.

olegy123 писал(а):И как мне за ООПить дату в 1179360 пикселей (1092x1080) = или 4717440 байт


Смотря что ты хочешь. Если работать все время с полноценной растровой картинкой, то натягивать на нее массив и смириться с тормозами. Да и тут можно использовать маски и буфера, для сохранения и отсечения неизменяемой информации. Если же с какой-то более-менее структурированной инфой, то как можно быстрее ее заполнить, а окончательную (собранную) картинку использовать только для отображения.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: fcl-web vs synapse

Сообщение olegy123 » 15.11.2017 17:49:24

Лекс Айрин писал(а):Т. е. система написана тяп-ляп.

Нет, каждый объект может написать письмо и указать кому доставить.. может вообще написать "да пошли вы все .." и указать в адресате (*).. Система гарантированна всех известит.
Сейчас думаю как выйти на международный (межпроцесовый уровень) - DBUS задействовать.

Лекс Айрин писал(а):Потому что при увеличении размера картинки затраты на ее обработку растут в геометрической процессии. И это не учитывая слоев.
поэтому любое лишнее копирование - это что "гвоздь в шину" дальнобою.
Поэтому я ушел от uses matrix;

Добавлено спустя 7 минут 2 секунды:
Лекс Айрин писал(а):Смотря что ты хочешь. Если работать все время с полноценной растровой картинкой, то натягивать на нее массив и смириться с тормозами. Да и тут можно использовать маски и буфера, для сохранения и отсечения неизменяемой информации. Если же с какой-то более-менее структурированной инфой, то как можно быстрее ее заполнить, а окончательную (собранную) картинку использовать только для отображения.
Вообще-то можно отложить или запустить в отдельный поток.. потом когда будет готова - добавить в общий результат.
Это удобно тем что не нужно все продумывать и предусматривать ожидать, когда свершится - если готово то добавляешь.

Добавлено спустя 3 минуты 43 секунды:
olegy123 писал(а):Поэтому я ушел от uses matrix;

ой, а там есть
Код: Выделить всё
            function determinant:single;
            function inverse(Adeterminant:single):Tmatrix4_single;
и куда я смотрел?
Все вопрос снимается..
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: fcl-web vs synapse

Сообщение Лекс Айрин » 15.11.2017 18:08:05

olegy123 писал(а):Нет, каждый объект может написать письмо и указать кому доставить.. может вообще написать "да пошли вы все .." и указать в адресате (*).. Система гарантированна всех известит.


В нормальной системе сообщения получают не все, а только те кому они требуется. А если объект (процесс, субъект) не обрабатывает сообщение, то он его и не получает. Поэтому я и говорю тяп-ляп. У тебя объект должен разбираться со всем хламом, который ему шлют, даже если оно ему не нужно.

olegy123 писал(а):Сейчас думаю как выйти на международный (межпроцесовый уровень) - DBUS задействовать.


Имхо, еще рано.

olegy123 писал(а):поэтому любое лишнее копирование - это что "гвоздь в шину" дальнобою.


насчет любого, ты загнул. Есть копирования намного увеличивающие скорость выполнения. Если задействовать сравнение с тем же дальнобоем, то если станции обслуживания располагаются чаще, то и гвоздь менее страшен.

olegy123 писал(а):Поэтому я ушел от uses matrix;


А ты уверен, что твой велосипед профессиональнее? Я как-то решил убрать лишний код из одного модуля, который почти не используется... в нем были использованы еще парочка, которую стоило облагородить... в общем-то мне хватило и я стер свои попытки, так как затраты не стоили ожидаемого результата. При том, что я просто стирал неиспользуемое и не пытался подправить код.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: fcl-web vs synapse

Сообщение olegy123 » 15.11.2017 18:40:18

Лекс Айрин писал(а):В нормальной системе сообщения получают не все, а только те кому они требуется. А если объект (процесс, субъект) не обрабатывает сообщение, то он его и не получает. Поэтому я и говорю тяп-ляп. У тебя объект должен разбираться со всем хламом, который ему шлют, даже если оно ему не нужно.
там почтальоны разбираться.. объект сам должен реагировать на данные, может написать ответное письмо..

Лекс Айрин писал(а):Имхо, еще рано.

Уже работает, только в будку почты еще не завел. Пока думаю.

Лекс Айрин писал(а):Есть копирования намного увеличивающие скорость выполнения.
Когда вам нужно кнопку нажать, то скорости копирования дешевого планшета во много раз превышает копирование.. Качество кода можно пренебречь. Хоть тыщу раз из одного угла в другой копируй..
А ктогда нужно обработать массив данных(в блуре на один пиксел может уходить обработки от [2х2] до [128х128] пикселей и желательно больше) - там лишний копипаст уже в массе дает огромную задержку..

Лекс Айрин писал(а):А ты уверен, что твой велосипед профессиональнее?
незнаю. но определенные задачи он решит.

Добавлено спустя 22 минуты 37 секунд:
Лекс Айрин писал(а):У тебя объект должен разбираться со всем хламом, который ему шлют, даже если оно ему не нужно.

У почтальона есть сумка, если там есть хоть одно сообщение, он смотрит кому, если (*) то значит оно предназначена всем...
Далее есть список прописок, где кто находится.. у каждого объекта есть интерфейс PUSH/POP сообщений..
Почтальону нужно найти адресата и засунуть ему передать (PUSH) сообщение и забыть о нем.. ящик у объекта может быть стэковый, (а может быть и событийный?), когда объекту приспичит он обязан сообщение (POP).. до конца стэка-ящика. Если нужно кому то написать - есть общий интерфейс (напиши письмо другу-объекту) в почте..

В однопотоковости - это невозможно выполнить.
А вот в мулити- это очень элементарно, на уровне разработки интерфейсов. у почты и у объектов.
У почтальена одна функция закинуть в нужный ящик нужное сообщение.. и у объектов вообще все просто.. проснутся, посмотреть соцсети- кто какие мимасики зафрендил.. в ответку послать что то.. Почта разрулить.
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Re: fcl-web vs synapse

Сообщение Лекс Айрин » 15.11.2017 19:12:54

olegy123 писал(а):там почтальоны разбираться.. объект сам должен реагировать на данные, может написать ответное письмо..


Почтальон этот точно такой же объект, который тупо читает адреса (дескрипторы) и раскидывает сообщения. он не должен понимать его само. Объект же на основе заголовка решает будет ли он его читать, перешлет по другому адресу или удалит. При этом, в правильно спроектированной системе. Почтальон не приносит кучу писем со словами "посмотри есть ли там твои" в каждый, допустим, офис огромного здания, а скидывает их в определенном месте (либо стол в холле, либо специальный кабинет внутренней почты).
Если объект его открыл, то он должен четко знать что в письме (сообщении). Если ему приходится анализировать что и как, (письмо может прийти от любого объекта и неизвестно что в нем) то это бардак, говнокод и бред. Т. е. объект (субъект/процесс) это, грубо говоря, куча человек сидящих в кабинете и обрабатывающих свой конкретный тип писем ( процедуры типа onClick, onDraw...) плюс какое-то количество человек для внутренних дел. (обычные методы).

Т. е., судя по по твоим словам, ты заставляешь программу делать одну и ту же работу много раз.

olegy123 писал(а):А ктогда нужно обработать массив данных(в блуре на один пиксел может уходить обработки от [2х2] до [128х128] пикселей и желательно больше) - там лишний копипаст уже в массе дает огромную задержку..

Пошукай как работали в DOSе с текстом профессиональные редакторы и как это (блур) реализовано в шейдерах. И не страдай фигней. Я не понимаю нафига при блуре нужен копипаст туда-сюда? Нужен 1 (один) временный буфер и программа обработки учитывающая границы изображения.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: fcl-web vs synapse

Сообщение zub » 15.11.2017 19:40:46

Alex2013
>>Извиняюсь за опечатки (пытался сразу на трех форумах писать и отвечать ... с понятным результатом :roll: :D )
Это выход из шкафа? ты сознался что ты пишешь сразу на 3х форумах какуюто херню - ты бот.

olegy123
какие нахрен детерминанты и кривые приведения типов?

куда смотрят модераторы
zub
долгожитель
 
Сообщения: 2884
Зарегистрирован: 14.11.2005 23:51:26

Re: fcl-web vs synapse

Сообщение Лекс Айрин » 15.11.2017 20:05:10

olegy123 писал(а):В однопотоковости - это невозможно выполнить.


Ой... а как же windows, до использования многоядерных процессоров? Да и Линукс, кстати, тоже. Они прекрасно это делали. И даже, как ни странно, DOS!

olegy123 писал(а):Почтальону нужно найти адресата и засунуть ему передать (PUSH) сообщение и забыть о нем.. ящик у объекта может быть стэковый, (а может быть и событийный?), когда объекту приспичит он обязан сообщение (POP).. до конца стэка-ящика. Если нужно кому то написать - есть общий интерфейс (напиши письмо другу-объекту) в почте..


Вовсе нет. Письмо может быть вынуто из ящика и/или возвращено на почту (адресат выбыл).


olegy123 писал(а):У почтальона есть сумка, если там есть хоть одно сообщение, он смотрит кому, если (*) то значит оно предназначена всем...

А в случае общих сообщений есть доска объявлений, на которой оно вывешивается. Не будет же он реально рассылать его всем.
olegy123 писал(а):А вот в мулити- это очень элементарно, на уровне разработки интерфейсов. у почты и у объектов.

Я тебе открою один маленький секрет. На самом деле Мульти это очень быстрое Моно. До сих пор. Просто чисто архитектурно очень тяжело сделать по другому. Одна шина данных, одна память, даже часть кешей не дублируется.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: fcl-web vs synapse

Сообщение olegy123 » 15.11.2017 21:37:48

Лекс Айрин писал(а):Почтальон этот точно такой же объект, который тупо читает адреса (дескрипторы) и раскидывает сообщения. он не должен понимать его само. Объект же на основе заголовка решает будет ли он его читать, перешлет по другому адресу или удалит. При этом, в правильно спроектированной системе.
Ну это если объект должен быть "передастом". В моей системе объекты не "передасты".
Лекс Айрин писал(а):Почтальон не приносит кучу писем со словами "посмотри есть ли там твои" в каждый, допустим, офис огромного здания, а скидывает их в определенном месте (либо стол в холле, либо специальный кабинет внутренней почты).
Почтальон смотрит прописку, видит где объект, далее вызывает у объекта интерфейс ящика и закидывает в него сообщене (или несколько). Все, почта свою миссию выполнила.
Далее объекту нужно всю корреспонденцию, в удобное для него время просмотреть, подумать и возможно сделать.

Лекс Айрин писал(а): Если ему приходится анализировать что и как, (письмо может прийти от любого объекта и неизвестно что в нем) то это бардак, говнокод и бред.
Ну кто как реализует.
У меня объекты сами решают, когда смотреть что делать. Почта четко делает одно дело, объекты сами думают как поступить.

Лекс Айрин писал(а):Т. е., судя по по твоим словам, ты заставляешь программу делать одну и ту же работу много раз.
каждый делает свое дело. и спит вовремя, а не постоянно в запяри.

Лекс Айрин писал(а):Пошукай как работали в DOSе с текстом профессиональные редакторы и как это (блур) реализовано в шейдерах. И не страдай фигней. Я не понимаю нафига при блуре нужен копипаст туда-сюда? Нужен 1 (один) временный буфер и программа обработки учитывающая границы изображения.
Ты по жизни что блурил? Пару раз картинку в фотошопе.. Где есть в плеерах фильтр? его нет, только потому что оно затраная тема даже на шейдерах. Тут базара жоқ.

Лекс Айрин писал(а):Нужен 1 (один) временный буфер и программа обработки учитывающая границы изображения.

Там берется квадрат и он по горизонтали и вертикали суммируется вес(помноженное на гаус распределение). квадратик должен быть более 4х4пикселей, более менее от 32х32.. 4х4 - это тебе 16х2(вертикаль/горизонталь)=32расчетов на один итоговый пиксель..

zub писал(а):какие нахрен детерминанты и кривые приведения типов?

Чтобы вычислить обратную матрицу.. которая нужна для unProject

Лекс Айрин писал(а):Ой... а как же windows, до использования многоядерных процессоров? Да и Линукс, кстати, тоже. Они прекрасно это делали. И даже, как ни странно, DOS!

разве DOS практиковал модель сообщений? DOS/4GW - вроде была модель переключений(like многопоточность).
Кстати Linux -не использует модель сообщений, за это сейчас ответственен DBUS - это служба.. вообще в Unix не особо приветсвуют биг-ядра.

Добавлено спустя 10 минут 29 секунд:
Лекс Айрин писал(а):Я тебе открою один маленький секрет. На самом деле Мульти это очень быстрое Моно. Просто чисто архитектурно очень тяжело сделать по другому. Одна шина данных, одна память, даже часть кешей не дублируется.

Может по другому - каждое ядро работает само и когда нужно завладеть шиной - оно синхронизируется с шиной?
olegy123
долгожитель
 
Сообщения: 1643
Зарегистрирован: 25.02.2016 12:10:20

Пред.След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25

Рейтинг@Mail.ru