Я работаю над синтезатором, встроенным в Pd, и запускаю его на BeagleBone Black. Для этого я написал несколько абстракций и два внешних. В настоящий момент синтезатор является монофоническим и использует 100% процессор при запуске, вызывая множество звуковых кликов и артефактов. Примерно через 5 секунд он «стабилизируется» до 75% CPU, а латентность и звук довольно хороши.Профилирование и оптимизация патчей и внешних компонентов PureData
Теперь мне нужно сделать synth polyphonic, поэтому время процессора должно быть освобождено для дополнительных голосов. Для этого я собираюсь создать Pd с отладочными символами и запустить мой патч через профайлер, такой как Callgrind/KCacheGrind, чтобы попытаться выяснить, где происходит наибольшее потребление ЦП и его оптимизация.
Может ли кто-нибудь поделиться любыми методами или советами, используемыми для оптимизации патчей и внешних ссылок Pd? Существуют ли какие-либо инструменты, специфичные для Pd для такого рода задач? Любая причина, по которой мой подход будет работать или не будет работать?