Wasm 音频处理单元

查看完整源代码在线查看编译后的示例

这是一个在 WebAssembly、Rust 和 wasm-bindgen 中使用特定处理单元内部线程的示例,最终形成一个振荡器演示。本演示应通过展示使用 ES 模块和动态模块创建的替代方法,来补充并行光线追踪示例。

构建演示

线程化 WebAssembly 的主要问题之一是 Rust 不会发布启用线程支持的预编译目标(例如,标准库)。这意味着你需要使用适当的 rustc 标志重新编译标准库,即 -C target-feature=+atomics,+bulk-memory,+mutable-globals。请注意,这需要 nightly Rust 工具链。请参阅并行光线追踪示例更详细的说明

注意事项

此示例与并行光线追踪示例共享其大部分注意事项。但是,它尝试将处理单元的创建封装在 Rust 模块中,因此应用程序开发人员不需要维护自定义 JS 代码。

浏览器要求

此演示目前应在最新的 Chrome、Firefox 和 Safari 版本中运行。请注意,此示例需要像 并行光线追踪中一样设置 HTTP 标头。