GrandBridge (12 онлайн)

Отличная штука, желаю удачи с продвижением! Помочь с тестами/допиливанием не предлагаю, сейчас временно под рукой только макбук (но если на горизонте планируется версия для мака, пиши)

Насколько я успел разобраться, в основе старая как мир схема с асинхронным продюсером-консюмером - добавляем задержку в цепочку но существенно равномернее загружаем CPU. Очень прикольно с точки зрения многопоточного дизайна, правда 95% всего потраченного времени скорее всего лежит в перехвате рендеринга окон, отработка всплывающих менюшек и странностях оконного менеджмента разных DAW и плагинов.
 
асинхронным продюсером-консюмером - добавляем задержку в цепочку но существенно равномернее загружаем CPU.
верно ) но задержка в моем случае по сравнению с остальными реализациями подобной схемы (типа жбриджа)- совершенно косметическая) и полностью пригодная к реалтайму . и работает пока что алгоритм железобетонно ( тьфу тьфу )

И про окна тоже верно )) ну не 95 , но процентов 80 точно :) одна реализация зума через cloak /dwm/dcomp , чуть меня не доконала :)
(и мне уже страшно представить как это реализовывать на маке , равно как и планировщик ядер ) ..
 
Последнее редактирование:
  • Like
Реакции: Zildjian
Я в кишки жбриджа не смотрел, так что точно не знаю, но уверен что он работает синхронно, то есть N забридженных плагина подряд дадут такую же задержку как N нативных плагинов в инсертах плюс накладные расходы на туда-сюда через IPC - ASIO load только выше. А тут и IPC быстрый (shared memory это один memcpy в одну стороны плюс немношк на синхронизацию) и последовательные инстансы работают "параллельно", просто жуют разные части пайплайна.

и работает пока что алгоритм железобетонно ( тьфу тьфу )

Так это же база многопоточного программирования, схема проверенная. Пока воркер успевает прожевать буфер за отведенную ему задержку, все будет работать без проблем. Если не успеет - тут зависит от реализации

З.Ы. погуглил, у JB тоже через shared memory передается, судя по ошибке "ML Shared Memory error" :)
но он не асинхронный это точно, со всеми вытекающиими
 

Zildjian

Ну пока что по всем тестам и по всем сценариям - успевал всегда ) , правда были проблемы как раз с рипером и фл , потому что у них burst buffer на старте потока всегда , из за их алгоритмов реализации асиогарда , пришлось вводить второй путь с детектом берст буфферов , чтобы избежать глитчей) fifo ...
 
  • Like
Реакции: Zildjian
Да и уверен что все таки в Jbridge был асинхронный алгоритм ) потому что он реально разгружал асио метр ( что невозможно при синхронном ) ну где то он его не допилил , потому что задержка там была конская , и глючил он адово ) ...
Ну и в принципе это единственная по моему мне известная реализация , хоть и старо как мир :)

Прекрасно то что существующую мою реализацию можно без особых затруднений упихать в udp ) и послать хоть на марс :) по сетке )
чем я и займусь в версии 2 , если дело пойдет :))
 
  • Like
Реакции: Zildjian
можно без особых затруднений упихать в udp ) и послать хоть на марс :) по сетке
посмотри в сторону вот этой штуки https://github.com/n0-computer/iroh - сильно упрощает посылку на марс
придется сращивать раст с плюсами, но это дело техники

заканчиваю технический оффтоп, освобождаю тему для юзеров)
 
база многопоточного программирования, схема проверенная
Очень хочется по этому поводу спросить. Каково хххх этого до сих пор нет во всех DAW


@Zerocool, но будет точно. Если не программист может запилить за пару недель, то для профи там работы на полторы. ) Поэтому надо думать не о продаже стейнбергу, а о продаже конечным юзерам, пока есть время. Имхо. )
 

Antonio

Не все так просто , особенно с древними DAW тип пт и куба ) там надо менять нутро , что крайне сложно и затратно , а в неких случаях и невозможно ) кроме полного переписывания DAW )
в каком нить Cubase - там внутри тонны obsolete кода , древних библиотек)) и наследия программистов которые там уже сто лет не работают) ...я уверен что там такие авгиевые конюшни за 30 лет разработки , на расчистку которых - надо потратить хренову тучу времени и денег , даже с помощью клодов ) начнешь переписывать нутро - посыпется все остальное )

И да , я не совсем "непрограммист " , я когда то кодил ) и на C в том числе) ..просто уже столет назад и ничего не помню из синтаксиса )
непрограммист бы GB не осилил даже с помощью ии) там архитектурно нужно много вещей понимать ) у меня ИИ чисто в индуса кодера трудится ) черновую работу пилит :)
 
Последнее редактирование:
  • Like
Реакции: Zildjian
Очень хочется по этому поводу спросить. Каково хххх этого до сих пор нет во всех DAW
а зачем, если пипл и так хавает ?
начнут ковырять глубоко, там столько всего всплывёт, что придётся набирать программистов, это всё разгребать.
а так, вроде работает, ну не оптимально, но зато лишних денег вкладывать не нужно. :D
 
В daw можно сделать даже проще, там не надо копировать данные для передачи через границу IPC - работаешь внутри памяти своего процесса, все будет blazingly fast. Почему не сделали, сам задаюсь вопросом, я лет пять назад еще где-то тут на форуме описывал эту схему конкретно применительно к CPU/ASIO load
 
Ну просто выкидывается лишний транспорт , схема та же :)
Я то же самое и написал. memcpy не бесплатен, в системах где важна скорость, его стараются по максимуму избегать, поэтому я и написал про blazingly fast.

Короче дело все идет к тому что надо пилить православную DAW ,) с куполами ) :Dle67: :Dle67: :Dle67:
Похоже на то)
 
В daw можно сделать даже проще, там не надо копировать данные для передачи через границу IPC - работаешь внутри памяти своего процесса, все будет blazingly fast.
Короче дело все идет к тому что надо пилить православную DAW ,) с куполами ) :Dle67: :Dle67: :Dle67:
а в таком случае, что будет с зависшим или упавшим плагином? потянет за собой DAW ?
я так понял что одна из целей бриджа, сэндбокс в отдельном процессе ? то есть получается, или быстро, или безопасно ?
 

evgeny26

изоляцию можно замутить на уровне DLL но тогда , все равно без транспорта не обойтись ) тут компромисс )
 
изоляцию можно замутить на уровне DLL но тогда , все равно без транспорта не обойтись ) тут компромисс )
а эти полуфабрикаты не помогут ?
судя по описанию, можно около-daw функционал замутить, вместо того чтобы с нуля писать :rolleyes: и по лицензии можно в коммерческих проектах использовать
 
Короче дело все идет к тому что надо пилить православную DAW ,) с куполами ) :Dle67: :Dle67: :Dle67:
Да давно уже пора. Не из патриотических чувств, а исключительно, чтобы не остаться "без всего" однажды. Ещё бы и свой формат внешних эффектов/инструментов добавить и тогда будет своя полноценная система. 1С-ка вон прекрасно живёт, хотя я понимаю, что бухгалтерий/продаж в стране в тысячу раз больше, чем профессиональных музыкантов, но есть же ещё любители, в общем, на корочку хлеба обязательно наскребётся.
 

Ocean

Это неподьемный объем работ даже команды из нескольких людей , не то что для одного ) тут нужны инвесторы )
и команда человек в 10 - 20 )
 
дубликат , а то уехало , покупка или донат )




пожалуйста пишите отчет в последующих сообщениях по типу "приобрел, задонатил " , под хайдом) в пару сообщений..(вдруг новички форума тоже захотят)
 

Сейчас просматривают