是否可以将Web API与WebAssembly 一起使用?如果是这样,怎么样?我对Navigator界面更感兴趣.
我想问使用 WebAssembly/WASM 将一系列图像绘制到画布中是否更快、更节省内存?
我之所以这么问,是因为我已经测试过在主 UI 和网络工作人员中绘制一系列图像(动画)。对于少数画布(1-5 个画布),性能是可以忍受的,但是对于更多画布(如 20-25),场景会有点不同,渲染变得慢动作。
这是主 UI 中的代码:
const videoDecoder = new Worker("videoDecoder.js");
const canvas = document.querySelector("#canvas");
const offscreen = canvas.transferControlToOffscreen();
videoDecoder.postMessage({ action: 'init', canvas: offscreen }, [offscreen] );
Run Code Online (Sandbox Code Playgroud)
这是我的网络工作者:
onmessage = async function (e) {
const blob = e.data;
blob.arrayBuffer().then(arrayBuffer => {
const uint8Array = new Uint8Array(arrayBuffer);
for(;;;) {
const offsetIdx = ...;
const endIdx = ...;
const jpegArray = uint8Array.slice(offsetIdx, endIdx);
const blob = new Blob([jpegArray], {type: "image/jpeg"});
drawImage(blob);
}
} …Run Code Online (Sandbox Code Playgroud)