Web Audio API 中的节点数量是否有实际限制?
Are there any pragmatic limits to the number of nodes in Web Audio API?
上下文:
- 一款包含数十个单元的游戏,这些单元可以做很多不同的事情并产生噪音。
- 为了更加真实,将声音与增益节点和平移节点混合在一起以考虑 space。
此方法在 运行 时生成数百个节点。
这不仅仅是音频混乱,因为根据单元和摄像机的位置,它们中的大多数实际上增益为零。
它在我的硬件上运行得很好,但我希望游戏能够在低端硬件上运行 运行。
我可以使用大量增益为零的节点,还是必须预先优化并仅将增益为非零的节点呈现给网络音频 API 以避免性能问题?
我在文档中找不到任何关于限制的信息...
一般来说,当增益节点的增益为零时,浏览器会做得很好。所有连接到gain节点的节点当然都会花费CPU,但是gain节点之后的所有节点都可以优化,因为已知gain节点的输出为0。在很多情况下唯一的处理是注意到一个节点的输出是 0,没有做任何可能发生的正常处理。 (像延迟节点或过滤器这样有记忆的东西有点复杂。)
很难说这是否足以满足您的用例。但在未来,您将有办法判断您是否使用过多 CPU。查看即将推出的 render capacity API,现在正在规范中。
上下文:
- 一款包含数十个单元的游戏,这些单元可以做很多不同的事情并产生噪音。
- 为了更加真实,将声音与增益节点和平移节点混合在一起以考虑 space。
此方法在 运行 时生成数百个节点。
这不仅仅是音频混乱,因为根据单元和摄像机的位置,它们中的大多数实际上增益为零。
它在我的硬件上运行得很好,但我希望游戏能够在低端硬件上运行 运行。
我可以使用大量增益为零的节点,还是必须预先优化并仅将增益为非零的节点呈现给网络音频 API 以避免性能问题?
我在文档中找不到任何关于限制的信息...
一般来说,当增益节点的增益为零时,浏览器会做得很好。所有连接到gain节点的节点当然都会花费CPU,但是gain节点之后的所有节点都可以优化,因为已知gain节点的输出为0。在很多情况下唯一的处理是注意到一个节点的输出是 0,没有做任何可能发生的正常处理。 (像延迟节点或过滤器这样有记忆的东西有点复杂。)
很难说这是否足以满足您的用例。但在未来,您将有办法判断您是否使用过多 CPU。查看即将推出的 render capacity API,现在正在规范中。