GPUOutOfMemoryError

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

WebGPU APIGPUOutOfMemoryError インターフェイスは、要求された処理を完了するのに十分な空きメモリが無かったことを表すアウトオブメモリー (OOM) エラーを表現します。

これは、GPUDevice.popErrorScope および uncapturederror イベントで浮かび上がったエラーの型の一つを表します。

アウトオブメモリーエラーは行儀がいいアプリケーションでは比較的まれですが、GPUValidationError より予測が難しいです。これは、このようなエラーはアプリケーションを実行しているデバイスに依存するとともに、同時に GPU リソースを使用しているほかのアプリケーションにも依存するからです。

GPUError GPUOutOfMemoryError

コンストラクター

GPUOutOfMemoryError() Experimental

新しい GPUOutOfMemoryError オブジェクトのインスタンスを生成します。

インスタンスプロパティ

親の GPUError から message プロパティを継承しています。

message Experimental 読取専用

なぜエラーが起きたのかを説明する人間向けのメッセージを提供する文字列です。

以下の例では、エラースコープを用いてアウトオブメモリーエラーをキャプチャし、コンソールに記録します。

js
device.pushErrorScope("out-of-memory");

let buffer = device.createBuffer({
  size: 100_000_000_000, // 100GB; かなり大きすぎる
  usage: GPUBufferUsage.COPY_SRC | GPUBufferUsage.MAP_WRITE,
});

device.popErrorScope().then((error) => {
  if (error) {
    // error は GPUOutOfMemoryError のオブジェクトインスタンス
    buffer = null;
    console.error(`Out of memory, buffer too large. Error: ${error.message}`);
  }
});

仕様書

Specification
WebGPU
# gpuoutofmemoryerror

ブラウザーの互換性

BCD tables only load in the browser

関連情報