Использование графического оборудования для обработки звука в приложении iphone - PullRequest
0 голосов
/ 24 сентября 2010

Мы разрабатываем приложение для iphone, которое должно обрабатывать аудиоданные в режиме реального времени, но мы страдаем от производительности. Узкие места заключаются в аудиоэффектах, которые на самом деле довольно просты, но снижение производительности заметно, когда добавляется несколько.

Большая часть кода аудиоэффектов написана на C.

Мы думаем, что есть два места, где мы можем использовать аппаратное обеспечение GPU для ускорения: использование OpenCL для эффектов и аппаратное обеспечение для интерполяции / сглаживания. Мы новички в этом и не знаем, с чего начать.

Ответы [ 2 ]

0 голосов
/ 24 сентября 2010

Возможно, вы получите лучшее ускорение DSP для устройства ARM NEON SIMD.NEON предназначен для операций DSP и может выполнять несколько операций с плавающей запятой одинарной точности за цикл.Принимая во внимание, что получение аудиоданных в память GPU и из нее может быть возможным, но может быть не таким быстрым.

Но вы, возможно, захотите профилировать свой код, чтобы увидеть, является ли что-то еще узким местом.Процессор iPhone 4 легко справится с выполнением нескольких фильтров FFT и IIR в аудиопотоке в реальном времени.

0 голосов
/ 24 сентября 2010

Вы, вероятно, имеете в виду OpenGL, поскольку OpenCL присутствует только на рабочем столе.Да, вы можете использовать для этого программируемые шейдеры OpenGL ES 2.0, если вы хотите выполнить очень быструю параллельную обработку, но это будет чрезвычайно сложно выполнить., который имеет аппаратно-ускоренные функции для выполнения только тех задач, которые необходимы для обработки аудио.Отличное место для начала - сессия Apple WWDC 2010 202 - «Ускорение фреймворка для iPhone OS», а также их «Использование преимущества Accelerate Framework» статья.1008 * Кроме того, не отклоняйте предложение Ганса о том, чтобы вы сначала профилировали свой код, потому что ваше узкое место в производительности может оказаться там, где вы не ожидаете.

...