我正在构建一个使用多个延迟节点的实时循环应用程序。我通过将maxDelayTime设置为稍长于delayTime来初始化延迟节点,因为这似乎是正确的选择。我不知道这是否真的有所作为,但将maxDelayTime设置为例如似乎很浪费。 3分钟,我只需要约10-15秒的延迟。

但是,我希望用户能够调整循环的大小,这就是我遇到问题的地方。如果用户希望循环更小,我可以将delayTime设置为更小的数字,一切都很好。但是,用户无法使循环变大,因为无法覆盖maxDelayTime。我可以使用适当的maxDelayTime重新创建所有延迟节点,但是延迟节点是与其他节点连接的,因此我宁愿不重新创建整体。

所以我的问题是:

即使delayTime通常少于30秒,以防万一用户想要进行更长的循环,创建8个maxDelayTime为3分钟的延迟节点是一个坏主意吗?

最佳答案

是的,那是个坏主意。

考虑这一点的最佳方法是maxDelayTime设置内部缓冲区的大小,该大小会不断更新-delayTime只是更改了该缓冲区中的查找点。如果将maxDelay设置得过大,则会消耗大量内存(例如,立体声44.1kHz中的8个延迟节点的maxDelay为3分钟,大约会占用496兆字节。)数量巨大(即使在台式机上也是如此)。

我可能会在一些拐点附近有边界,这些拐点可以换成新节点-例如> 30秒,> 2分钟-并为这些尺寸设置maxDelay。例如,如果您的默认值为30秒,则8个节点“仅”为82兆。

关于javascript - 最长的maxDelayTime有什么害处?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30225534/

10-09 15:08