Оптимизация Kontakt (cpu, asio, round trip, ram) в оркестровых тэмплейтах

  • Автор темы Автор темы saddy13
  • Дата начала Дата начала

saddy13

Active Member
Друзья, сегодня начал создавать оркестровый тэмплейт на основе библиотек серии "Cinematic Studio". Долго думал, как будет рациональнее по нагрузке на cpu-asio сделать, и чтобы памяти меньше расходовалось.

Работаю в Reaper. Загружаю струнные. Решил попробовать с самого простого варианта. Загрузил 11 дорожек, с 11-ю же контактами. Получается 11 инструментов (CSS+CSSS), включая ансамблевые патчи. В каждом контакте по отдельному инструменту. Делаю "purge", сохраняю. Оперативной памяти жрёт струнная группа 3.8 гигабайт. Записываю на одной дорожке от балды легатную фразу, кручу контроллеры. Копирую этот айтем на остальные 10 дорожек. Смотрю на загрузку процессора. В режиме "asio protection" (с выключенными rec arm) жрёт 0.8-1% round trip.
203187
203188
 
Ну что же, неплохо для скрипичного тутти.
Решил попробовать улучшить показатели и "оптимизировать", так сказать))

Казалось бы, куда как рациональнее загрузить все струнные в один контакт. Накидываю "мультик" на все те же 11 инструментов. Создаю в контакте дофига стерео-выходов, 11 миди-дорожек под каждый инструмент. Делаю роутинг. Копирую из прошлого проекта легатную миди-партию на все 11 миди-дорожек.
 
Смотрим что получилось.
Памяти стало есть чуть поменьше, но ненамного - 3.7 гигов.
А вот round trip подскачил в режиме "rec arm off" аж до 21-22%. Нифига себе оптимизация двадцатикратная! В режиме записи (rec arm on), показатели практически те же.
203193
203194
203195
203196
 
Подводя итог, делаю вывод, что с мултиартикуляционными инструментами такими как Cinematic Studio, гораздо рациональнее менее очевидная вещь: грузить каждый мульти-патч в отдельную инстанцию контакта. По всей видимости, при том, что контакт вроде как поддерживает мульти-процессорность, потоки внутри одной инстанции распределяет очень хреново. И так два-три контакта, загруженные под завязку, прикончат наш asio, в то время как 30 раздельных инстанций будут работать с минимальной нагрузкой.
 
  • Like
Реакции: ShS и PianoIst
Так и есть, контакту сложно работать с кучей инструментов и, почему-то он тратит много сил на распределение миди-сообщений (хотя более элементарной задачи представить сложно).
Вообще контакт — кусок легаси-кода, от которого очень хочется избавиться, и слава богу, этот процесс начался. Великая его производительность — миф, удобство программирования — тоже, защита от взлома (хе-хе)...

Ещё меняч дико раздражает то, сколько места в проекте (в файле проекта) ханиают инстанции контакта, и сколько оперативки оверхеда жрёт доп инстанция. Но если что-то затыкается по ЦПУ — первым делом надо рассадить инструменты по отдельным инстанциям.
 
  • Like
Реакции: saddy13
грузить каждый мульти-патч в отдельную инстанцию контакта
Уже давно (несколько лет) так делаю. Отдельный инструмент - отдельная инстанция контакта. Миди треки практически не использую. В изначальном темплейте все инструменты после загрузки пропуржены и деактивированы. Активирую только то, что непосредственно в работе.
 

Вложения

  • Контакт 1.jpg
    Контакт 1.jpg
    80,7 KB · Просмотры: 216
  • Контакт 2.jpg
    Контакт 2.jpg
    64,3 KB · Просмотры: 216
  • Like
Реакции: Lenny Moria и saddy13
@saddy13, так это давно известно. Вот я видос на тему делал 3 года назад



Писал тут на форуме где-то.

Простите, не знал) для самого стало откровением)) ведь везде пишут, для оптимизации, грузите ребята все 16 патчей в один контакт, а не в 16 контактов)
 
Так и есть, контакту сложно работать с кучей инструментов и, почему-то он тратит много сил на распределение миди-сообщений (хотя более элементарной задачи представить сложно).
Вообще контакт — кусок легаси-кода, от которого очень хочется избавиться, и слава богу, этот процесс начался.
Вы имеете в виду собственные сэмпл-плеер плагины производителей библиотек, типа Play (east west), sine (orchestral tools), spitfire?
 
уж лучше legacy код контакта))
Мне нравится SSD, мне нравится Addictive, отлично работает Ample Sounds. Про всякие зебры и серумы и речи нет. А Play — просто ещё один peace of shit)
 
  • Like
Реакции: Lenny Moria
Отдельный инструмент - отдельная инстанция контакта. Миди треки практически не использую. В изначальном темплейте все инструменты после загрузки пропуржены и деактивированы. Активирую только то, что непосредственно в работе.
Тоже в итоге так стал работать.

Одно время хотел использовать Komplete Kontrol для совместимых инструментов - вот уж где начался адок! Для быстрых скетчей пару инстанций в проекте иметь можно, или если что-то, что часто нужно подбирать заново для каждого проекта. Но вообще приличных слов для NI с их KK найти сложно)))
 
Последнее редактирование:
  • Like
Реакции: Landre
NI Kontakt, для работы с оркестровой музыкой
(на случай, если кто памятку пропустил)
Спасибо! Я пропустил. Всё понятно было, а вот функцию "Use Memory Server" я как-то умудрился проигнорировать (видимо когда начинал на PC это было не актуально). Будет ли это фактически "расширять" оперативную память для контакта на 30 гигов за счёт SSD, или не всё так гладко? (и интересно к чему ограничение в 30 Гб, можно было бы оставить это на усмотрение пользователя, раз оно так умеет).
 
Ещё я недавно обновился. Подскажите, коллеги: имеет ли смысл в темплейтах везде заменить 5-й контакт на 6-й? Будет ли от этого толк в проектах, где всё уже и так работает (понятно, что для использования новых библиотек нужна новая версия контакта, а в остальном?)
 
речь то о другом совсем
почему? Технология-то одна и та же: берёшь сэмплы, мапишь на ноты, стретчишь-питчишь, если необходимо, морду рисуешь.
Просто у кого-то (у Toontrack, например) это получается, а у кого-то не очень.
 
Вся оптимизация работы с Контактом сводится к VEPro, даже одном компе. Кроме того, это значительно ускоряет автосейв.
 
  • Like
Реакции: CakeWorker
NI Kontakt, для работы с оркестровой музыкой
(на случай, если кто памятку пропустил)
В этой памятке ничего как раз про перегрузку процессора и не сказано. Наоборот, пишут, типа делайте побольше каналов, и загружаете по полной. Больше про батч ресейв и пурж, это и так всем известно.
 
Вся оптимизация работы с Контактом сводится к VEPro, даже одном компе. Кроме того, это значительно ускоряет автосейв.
С Веной тоже не все так однозначно. Вы учтите, что Вена увеличивает буфер асио и соответственно задержку. 1- кратный буфер добавляет 128 сэмплов к выставленному в нашем асио, 2-кратный 256, и так далее. Будет ли разница между контактом в daw с буфером 512 и контактом через вену с 3-х кратным буфером (в конфигурации асио daw 128 сэмплов+ Вена 384 сэмпла)? Я пока не ответил на этот вопрос. Я сейчас делаю тэмплейт в двух вариантах, с Веной и без. О результатах напишу)
 
Ещё я недавно обновился. Подскажите, коллеги: имеет ли смысл в темплейтах везде заменить 5-й контакт на 6-й? Будет ли от этого толк в проектах, где всё уже и так работает (понятно, что для использования новых библиотек нужна новая версия контакта, а в остальном?)
Я разницы в быстродействии и оптимизации нагрузки не заметил.
 
В этой памятке ничего как раз про перегрузку процессора и не сказано. Наоборот, пишут, типа делайте побольше каналов, и загружаете по полной. Больше про батч ресейв и пурж, это и так всем известно.
Вообще не понятно какое это отношение имеет именно к оркестровой музыке, просто небольшой мануал.
При чем по поводу Kontakt Memory Server там какая-то ерунда написана, мемори сервер в мак ос был создан для того что-бы можно было загружать большие библиотеки на 32бит ОС, там создаются несколько серверных процессов, которые не превышают 4гб в памяти, куда частями загружаются сэмплы, в наши дни это не актуально вообще, но там есть функция ручной выгрузки сэмплов, то есть даже при закрытии инстанции Контакта сэмплы сами не выгружаются и если допустим загрузить другой проект с тем же набором библиотек, то это в разы сокращает ожидание загрузки сэмплов.

Ещё я недавно обновился. Подскажите, коллеги: имеет ли смысл в темплейтах везде заменить 5-й контакт на 6-й? Будет ли от этого толк в проектах, где всё уже и так работает (понятно, что для использования новых библиотек нужна новая версия контакта, а в остальном?)
Я заменил у себя, но не для оптимизации, а для того что бы не иметь в будущем проблем с новой версией Контакта. Начиная с 6 версии убран номер версии контакта, то есть проект сделанный в 6ой версии будет загружаться с 7ой и т.д.
 

Вложения

  • KMS.jpg
    KMS.jpg
    356,1 KB · Просмотры: 140
  • Like
Реакции: Lenny Moria
по поводу Kontakt Memory Server
Теоретически вещь хорошая и в ряде случаев оч полезная, а по факту перестал им пользоваться, потому как неоднократно замечал за этим Memory Server глюки. Наверняка он хорошо работал в версиях несколько лет назад, но потом, такое ощущение, что разработчики им перестали заниматься. Тут на форуме где-то обсуждалась его глючность
 
А эта штуковина у вас включена? По умолчанию в контакте эта функция "Multiprocessor support" отключена.
У меня патчи с ТМ не тянул быстрые штрихи, так как оказывается контакт использовал только одно ядро, но после включения всех доступных ядер - стало как по маслу.
2021-08-15_13-08-02.png
 
Вена увеличивает буфер асио и соответственно задержку.
И тем не менее! Лично у меня моя DAW (Sonar, Cakewalk by BandLab) с К из-под Вены тащит и тащит их по несколько инстанций на каждом из компов на 128 семплах, а с тем же кол-вом К унутре - глитчит, тормозит и нередко падает даже на 1024. И пока проект не забит под трекинг-мастеринг, всё это без ощутимых задержек дыринчит и с МИДИ-клавиатуры.
 
  • Like
Реакции: Alentai
CakeWorker
ну а чего бы не тормозить и не глючить то , на такой седой древности как ноутбучный Core i7 3610QM))))

у меня десяток другой контактов даже не ощущается что они загружены)) на 16 ядрах )
 

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