有人成功地使用OpenGLES2.0着色器(GLSL)进行音频合成了吗?
我已经在我的iOS应用程序中使用了vDSP来加速音频,它从C代码提供了一个简单的向量指令集。vDSP的主要问题是,你必须编写相当于面向向量的汇编语言,因为每个样本的主循环被下推到每个基元操作中(向量相加,向量相乘)。将表达式编译到这些序列中是着色器语言为您自动执行的本质。OpenCL在iOS中不是公共的。同样有趣的是,GLSL是在运行时编译的,这意味着如果大多数声音引擎可以在GLSL中,那么用户可以做出重要的补丁贡献。
发布于 2012-06-22 02:49:39
尽管iOS图形处理器着色器相对较快,但加载和恢复数据(纹理、已处理像素等)的路径来自GPU的速度足够慢,足以抵消使用GLSL带来的任何当前着色器的计算效率。
对于实时合成,GPU像素卸载路径的延迟远远大于仅使用CPU合成馈送RemoteIO的最佳音频响应延迟。例如,显示帧速率( GPU流水线被锁定到该速率)比最佳RemoteIO回调速率慢。在这些短小的音频缓冲区中,没有足够的并行性可以利用。
https://stackoverflow.com/questions/11144362
复制相似问题