Webアセンブリからhtml5キャンバスを効率的に変更することは可能ですか?
更新:
var imageData = context.getImageData(x, y, w, h)
var buffer = imageData.data.buffer; // ArrayBuffer
バッファが書き込み可能である場合の方法である可能性があります。
いいえ、WebAssemblyとweb-api開発のこの段階ではありません。これにより、WebAssemblyインスタンスのメモリのバッファにもう一度コピーする必要がある新しいバッファを持つcontext.getImageData
新しいImageData
オブジェクトを取得できます。ただし、キャンバスから読み取る必要がなく、書き込むだけのImageData.data
場合は、WebAssemblyインスタンスのメモリにを割り当てることができます。ImageDataコンストラクターを使用する
imageData = new ImageData(new Uint8ClampedArray(waInstance.export.memory.buffer, byteOffset, width*height*4), width, height)
imageData
あなたのデータへのポインタがあります。すべてのレンダリングでは、WebAssemblyで作業を行うと、同じ使用imageData
中のcontext.putImageData(imageData)
ビッグデータは、サイクルごとにコピーするだけで一度やって、。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加