Javascript 使用多个ScriptProcessor和Analyzer节点时Chrome崩溃

Javascript 使用多个ScriptProcessor和Analyzer节点时Chrome崩溃,javascript,google-chrome,crash,web-audio-api,scriptprocessor,Javascript,Google Chrome,Crash,Web Audio Api,Scriptprocessor,我正在构建一个web应用程序,允许用户改进webaudio合成器()。然而,在chrome上,只要你点击刷新几次,并将突变量一直调高,然后在进化过程中反复播放,应用程序就会意外崩溃(该选项卡仅显示“aw snap”崩溃屏幕) 当合成器加载时,它通过连接到静默增益节点的脚本处理器和分析器节点播放,这样它就可以渲染出初始spectrogram(最初尝试使用脱机上下文进行此操作,但这只是可怕的刹车)。然后,当用户单击播放乐器时,它会通过一组不同的脚本/分析器节点播放。每次后续播放,振荡器和滤波器都会重

我正在构建一个web应用程序,允许用户改进webaudio合成器()。然而,在chrome上,只要你点击刷新几次,并将
突变量一直调高,然后在进化过程中反复播放,应用程序就会意外崩溃(该选项卡仅显示“aw snap”崩溃屏幕)

当合成器加载时,它通过连接到静默增益节点的脚本处理器和分析器节点播放,这样它就可以渲染出初始spectrogram(最初尝试使用脱机上下文进行此操作,但这只是可怕的刹车)。然后,当用户单击播放乐器时,它会通过一组不同的脚本/分析器节点播放。每次后续播放,振荡器和滤波器都会重新生成并连接到同一组脚本/分析器节点

每当较旧的脚本节点尝试进行垃圾收集时,它似乎就会崩溃,因为当我尝试保留对该节点的引用并且没有将其
onaudioprocess
函数设置为null(这确实会严重影响内存)时,这种情况发生的频率较低。有没有更好或更标准的方法

我不完全清楚在这篇文章中应该放什么代码,因为这个问题只在大部分时候出现在所有东西都被整合在一起的时候。利用脚本/分析器节点的主要小部件是

在firefox中运行良好,如果有任何其他信息对我有帮助,请告诉我


编辑:只需打开可视化工具代码,点击几次“新建x30”按钮即可获得崩溃(尽管次数较少)。

更新到chrome 40后,我没有看到出现此问题。我假设它是由某个内存损坏或已修复的webaudio错误()