為什么我的自定義內存對象被忽略了?let memory = new WebAssembly.Memory({ initial: 16, maximum: 16, shared: true });console.log(memory.buffer); // logs: SharedArrayBuffer(1048576) as expectedWebAssembly.instantiateStreaming(fetch('../out/main.wasm'), { env: { memory }}).then(results => { console.log(results.instance.exports.memory.buffer); // logs: ArrayBuffer(131072) - both size and shared parameter is being ignored });這是一個小提琴https://webassembly.studio/?f=t4fgszgzy9背景:我有一些大的 (64MB) Uint32Array,我想將一些處理委托給 C/C++,而不是每次都復制整個數組,因為在循環中復制數據的開銷會破壞此優化的目的。為什么我要 SharedArrayBuffer?我也在 WebWorkers 中使用這些數據,我發現它比傳輸對象更優雅。
如何將自定義內存對象傳遞給 WebAssembly?
米脂
2023-05-19 15:01:07