JavaScript

組み込みオブジェクト

SharedArrayBuffer オブジェクト

 編集:2022.08.09 by T.A.

[Edge]⛌?→mdn

SharedArrayBuffer オブジェクトは、固定長の生バイナリ データ バッファーのジェネリックを表すために使用されます。ArrayBuffer オブジェクトと似ていますが、こちらは共有メモリー上にビューを生成するために使用されます。ArrayBuffer と異なり、SharedArrayBuffer は分離できません。

コンストラクター
new SharedArrayBuffer()
新しい SharedArrayBuffer オブジェクトを生成します。
インスタンスプロパティ
SharedArrayBuffer.byteLength
配列の大きさをバイト数で表します。これは配列が構築されたときに確立され、変更することはできません。読み取り専用です。
インスタンスメソッド
SharedArrayBuffer.slice(begin, end)
新しい SharedArrayBuffer を作成し、その中身をこの SharedArrayBuffer の begin の位置から end の位置の一つ手前までのバイトをコピーして返します。begin または end が負の数の場合は、配列の先頭からではなく末尾からの位置で参照します。
新しい SharedArrayBuffer の生成
var sab = new SharedArrayBuffer(1024);

エラー発生

SharedArrayBuffer の分割
var sab = new SharedArrayBuffer(1024);
sab.slice();    // SharedArrayBuffer { byteLength: 1024 }
sab.slice(2);   // SharedArrayBuffer { byteLength: 1022 }
sab.slice(-2);  // SharedArrayBuffer { byteLength: 2 }
sab.slice(0, 1); // SharedArrayBuffer { byteLength: 1 }
WebGL バッファー内での使用
const canvas = document.querySelector('canvas');
const gl = canvas.getContext('webgl');
const buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
gl.bufferData(gl.ARRAY_BUFFER, sab, gl.STATIC_DRAW);

テスト
HTML:


ここにHTMLが表示される
スクリプト組み込み:
JavaScript:


JavaScript:



表示内容:
表示内容: