iOS: несколько AU против всего в одном обратном вызове рендеринга
Я занимаюсь разработкой пользовательского сэмплера и звукового движка для моего приложения (iPhone 4+), в частности добавляю функции записи и отправки эффектов. Я застрял, пытаясь решить, идти ли по пути, когда все обрабатывается в одном большом обратном вызове рендеринга RemoteIO, или разбивать его на отдельные узлы AU.
Может ли в любом случае знать, накладывает ли более сложный AUGraph с несколькими RemoteIO и микшерным AU для суммирования все это значительную нагрузку по сравнению с выполнением всего этого в одном, хорошо настроенном обратном вызове рендеринга? Есть ли какая-либо другая причина, почему кто-то хотел бы пойти тем или иным путем (например, возможно, границы AU обрезают / усекают звук)?
Производительность - большая проблема, и я бы, вероятно, просто пошел с обратным вызовом одного рендера, но я не хочу упустить постоянно растущий список доступных валютных единиц.
1 ответ
Вообще говоря, я бы предпочел один обратный вызов рендеринга, но если вы планируете переупорядочить цепочку эффектов, возможно, было бы проще использовать AUGraph.
Кроме того, вместо того, чтобы иметь дело с AudioUnits напрямую, вы должны проверить Novocaine, который делает все неприятные интерфейсы AU для вас и дает вместо этого чистый обратный вызов на основе блоков.