Аудиопрограмма с несколькими выходами дает огромную нагрузку на процессор при подключении

Я создаю музыкальное программное обеспечение, используя разъем, который имеет несколько выходов (16). Когда в моей программе запущен полный процесс dsp (многие синтезаторы, сэмплеры и т. Д.), Загрузка процессора немного высока, но не вызывает беспокойства. Это когда выходы клиента jack не подключены или подключены напрямую к выходам звуковой карты.

Итак, когда я запускаю Ardor и открываю пустой шаблон (без плагинов или чего-либо еще), загрузка процессора остается на уровне 5% (мониторинг сверху), пока я не подключу выходы моей программы к входам Ardor. После этого загрузка процессора Ardor повышается до 80-95% и приводит к тому, что все замедляется до непригодного для использования, даже если моя прога ничего не обрабатывает. Это не имеет никакого смысла, так как экземпляры puredata с одинаковым или большим количеством выходов jack не приводят к схожей нагрузке на процессор (пустой или даже полный с плагинами).

В моей программе все выходы обрабатываются в одной и той же функции обратного вызова jack, это правильный способ сделать это для multiout? Что может быть причиной этого пика процессора? Я использую ядро ​​RT на тестовой машине Linux, и графический интерфейс моей программы нарисован с помощью SDL.

Это начинает быть очень крутой программой, но эта проблема делает ее непригодной для использования.

0 ответов

Другие вопросы по тегам