Аудио - Какое улучшение производительности можно ожидать от сокращения вызовов функций с помощью буферов? - PullRequest
0 голосов
/ 23 марта 2010

Я работаю над аудио-интенсивным приложением для iPhone. В настоящее время я вызываю несколько различных функций для каждого образца, который мне нужно рассчитать. Например, у меня есть класс конверта. Когда я вычисляю образец, я делаю что-то вроде:

sampleValue = oscilator->tic() * envelope->tic();

Но я мог бы сделать что-то вроде:

for(int i = 0; i < bufferLength; i++){
   buffer[i] = oscilatorBuffer[i] * evelopeBuffer[i];
}

Я знаю, что второе будет более эффективным, но не знаю, насколько. Достаточно ли дороги вызовы функций, что я бы с ума сошел, если бы не использовал буферы, если меня мало волнует производительность?

Ответы [ 2 ]

1 голос
/ 23 марта 2010

Всего две мысли:

  1. Функциональные вызовы очень дешево.
  2. Если говорить о производительности, то ничто не сравнится с экспериментом.
0 голосов
/ 23 марта 2010

Вы можете сделать все текущие функции встроенными и сравнить производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...