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 标头。