Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何优化web音频应用程序中的垃圾收集以避免点击噪音?_Javascript_Garbage Collection_Web Audio Api - Fatal编程技术网

Javascript 如何优化web音频应用程序中的垃圾收集以避免点击噪音?

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

我有一个环境音乐生成网络音频应用程序——它创建了许多audiocontext节点,以形成一个不断发展、相当放松的音乐纹理

不过,大约100秒后,节点太多,垃圾收集就会启动,发出可怕的、不放松的咔哒声,破坏一切

我可以重写软件,这样它可以创建更少的节点,但如果不需要的话,我也不想这样做,因为我认为实际效果会有所不同

我想要的是在每个(振荡器等)节点创建30秒后销毁它们,阻止节点数达到数百

代码在这里,fwiw:


谢谢你,我刚刚又遇到了这个问题,我想我还是用我最后所做的事情来回答这个问题,在问题中列出的范例中:

我使用了
AudioNode.disconnect()
方法:

我使用了
setTimeout
和创建并连接节点时的任意时间段。然后在一段时间后,它们将断开连接。然后,当垃圾收集发生时,它只是清除断开连接的节点,这不会产生噪音