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