我有一个函数可以根据来自CDJ的传入数据包计算轨道的BPM。让我们说BPM是每分钟124.45次心跳,我怎么会每0.482秒调用一次功能(即每次跳动一次)?是否可以设置另一个线程并设置一个计时器?
答案 0 :(得分:0)
考虑一下高精度计时器,here,Apple声称500微秒精度,即500(毫秒)毫秒要求的0.1%。您可以通过读取处理开始时的时间并计算下一拍的偏移量来最小化偏斜。此外,如果你发现你经常被安排迟到,并且缺少节拍,你可以睡觉,比如95%的时间到你的下一个节拍,所以CPU可以安排别的东西,然后忙等待最后几个百分点所以你不要占用CPU。