我正在为Unity游戏引擎开发音频库。目前,我正在修改延迟课程。它最初使用float []来存储样本。以下是一些限制:
所以我认为缓冲区听起来很像一个队列。要写入缓冲区时将值排入队列。等到队列计数达到所需的延迟。当你想要阅读时,将其中一个关闭。我认为这将是一个进步。它就是。它更具可读性和直观性,您可以轻松更改延迟时间。我认为它的内存效率更高,而且只要需要它就只有大小。
然而,它也需要大约两倍的处理时间。我们只讨论3或4个刻度,但是在像Reverb这样使用多个Delay实例的更复杂的过滤器中,在可以使用多个Reverbs的应用程序中,这可能会加起来。
所以我的问题是:我是否正确使用Queue?我应该为此使用其他东西吗?回到使用简单数组并在更改延迟时重写它会更好吗?