Vla*_*lad 7 core-audio ios swift
对于使用以下API的音频应用程序中的C++类CARingBuffer,可能有什么好的Swift替换:
CARingBuffer *mBuffer = new CARingBuffer()
mBuffer->Allocate(...)
mBuffer->Store(...)
mBuffer->Fetch(...)
mBuffer->GetTimeBounds(...)
Run Code Online (Sandbox Code Playgroud)
谢谢!
更新:对纯Swift实现感兴趣(没有C/C++桥接).
UDPATE 2:迅速执行允许使用低级别的C API,诸如memcpy,OSAtomicCompareAndSwapLongBarrier等
更新3:让我们假设处理的链接器问题Whole Module Optimization是临时的,并将在较新版本的swift工具链中解决.
更新4:在Swift中实现CARingBuffer并运行性能测试(C++和Swift)后,我得到了一些数字:
2 000 000个周期(2个通道,44100 Hz,每帧512个样本,缓冲容量4096帧)
20 000 000个周期
2亿次循环
| 归档时间: |
|
| 查看次数: |
253 次 |
| 最近记录: |