為什么我的自定義內(nèi)存對象被忽略了?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++,而不是每次都復(fù)制整個數(shù)組,因?yàn)樵谘h(huán)中復(fù)制數(shù)據(jù)的開銷會破壞此優(yōu)化的目的。為什么我要 SharedArrayBuffer?我也在 WebWorkers 中使用這些數(shù)據(jù),我發(fā)現(xiàn)它比傳輸對象更優(yōu)雅。
如何將自定義內(nèi)存對象傳遞給 WebAssembly?
米脂
2023-05-19 15:01:07