2 ms·
In the browser, can it integrate with SharedArrayBuffer, worker's postMessage or transferrable offscreen canvas?
by plopz 3y ago
In the browser, can it integrate with SharedArrayBuffer, worker's postMessage or transferrable offscreen canvas?
- connicpu 3y agoWASM essentially can call javascript functions that were imported, and I believe javascript is able to read WASM's memory (a big help for transferring strings). If you're using something like Rust, all the glue code to call any JS APIs can be automatically generated for you with wasm-bindgen, so it really isn't a huge problem usability wise. It's just not great for performance.
- ReleaseCandidat 3y agoDepends what you mean by "integrate". It always has to import or export JS functions or memory. WASM (without WASI) has no direct connection to "the outside World", everything has to be routed via JS FFI. So you can import or export a SharedArrayBuffer to communicate with JS. https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/Memory#creating_a_shared_memory https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScr... But you need the WASM thread extension (for atomic access to the shared memory) to be able to use shared memory.