【发布时间】:2014-03-16 20:39:45
【问题描述】:
我想知道是否有人有编写 HAL AudioUnit 渲染回调以利用多核处理器和/或对称多处理的经验?
我的情况如下:
子类型 kAudioUnitSubType_HALOutput 的单个音频组件(连同它的渲染回调)负责附加合成 n 个具有独立独立变化和实时更新幅度的正弦部分和相位值。它本身是一种相当简单的暴力嵌套循环方法(每部分、每帧、每通道)。
但是,当部分 "n" 的数量达到某个上限时,处理器会过载并开始产生丢失,而其他三个处理器保持空闲状态。
除了关于加法合成是“处理器昂贵”而不是“波表”的一般讨论之外,我需要知道这是否可以正确解决,这涉及利用多处理器或多处理器上的多处理核心机?将渲染线程分成子线程似乎不是正确的方法,因为渲染回调本身已经是一个时间约束线程,并且最终输出在延迟方面必须是样本精确的。有人在解决此类问题方面有过积极的经验和有效的方法吗?
系统:10.7.x
CPU:四核 i7
提前致谢,
加拿大
【问题讨论】:
标签: macos multiprocessing core-audio audiounit