为实时事件调度创建自定义运行循环

时间:2017-07-24 22:21:22

标签: asynchronous swift3 runloop

我开始使用Swift和Mac OS挖掘异步代码。我想在我的应用程序中添加一个音序器,所以我需要一个非常像SpriteKit游戏循环运行的循环,没有可视化库。

我想要做的是一个虚拟时间线,我可以运行,暂停,停止并使用它来安排将发送网络消息的动作。我需要尽可能准确,可能在高优先级线程上运行或使用高优先级计时器。

只要我在一个不同的线程上运行高精度运行循环作为GUI,我就可以构建其余的。我只是在寻找在Swift中实现这一目标的最佳方法。有没有可用的库,所以我不需要做基本的管道工程?

谢谢!

修改 即使应用程序进入后台,这个循环也必须运行。

计划是最终将它用作OSC音序器来控制样本准确的音频引擎(现在我可以在大约4秒内获得大约14000个OSC消息,并且它会变得更大)。它将处理触发器和动作处理参数随时间的定时(该循环中不涉及音频,至少不直接)并且可能生成/同步到SMPTE时间码以与视频和音频回放服务器同步。重要的是时间保持尽可能精确,因为它可以在现场活动中使用(将)。

那么使用高精度计时器来提高准确度?还是运行GCD线程?我还没有触及OS X中的异步编码,所以我只想开始朝着正确的方向前进。

0 个答案:

没有答案