Javascript 如何优化web音频应用程序中的垃圾收集以避免点击噪音?
我有一个环境音乐生成网络音频应用程序——它创建了许多audiocontext节点,以形成一个不断发展、相当放松的音乐纹理 不过,大约100秒后,节点太多,垃圾收集就会启动,发出可怕的、不放松的咔哒声,破坏一切 我可以重写软件,这样它可以创建更少的节点,但如果不需要的话,我也不想这样做,因为我认为实际效果会有所不同 我想要的是在每个(振荡器等)节点创建30秒后销毁它们,阻止节点数达到数百 代码在这里,fwiw:Javascript 如何优化web音频应用程序中的垃圾收集以避免点击噪音?,javascript,garbage-collection,web-audio-api,Javascript,Garbage Collection,Web Audio Api,我有一个环境音乐生成网络音频应用程序——它创建了许多audiocontext节点,以形成一个不断发展、相当放松的音乐纹理 不过,大约100秒后,节点太多,垃圾收集就会启动,发出可怕的、不放松的咔哒声,破坏一切 我可以重写软件,这样它可以创建更少的节点,但如果不需要的话,我也不想这样做,因为我认为实际效果会有所不同 我想要的是在每个(振荡器等)节点创建30秒后销毁它们,阻止节点数达到数百 代码在这里,fwiw: 谢谢你,我刚刚又遇到了这个问题,我想我还是用我最后所做的事情来回答这个问题,在问题中
谢谢你,我刚刚又遇到了这个问题,我想我还是用我最后所做的事情来回答这个问题,在问题中列出的范例中: 我使用了
AudioNode.disconnect()
方法:
我使用了setTimeout
和创建并连接节点时的任意时间段。然后在一段时间后,它们将断开连接。然后,当垃圾收集发生时,它只是清除断开连接的节点,这不会产生噪音