Skip to content

Commit

Permalink
Translate GPUOutOfMemoryError
Browse files Browse the repository at this point in the history
  • Loading branch information
mikecat committed Sep 18, 2024
1 parent d7c2882 commit aed5329
Show file tree
Hide file tree
Showing 2 changed files with 102 additions and 0 deletions.
40 changes: 40 additions & 0 deletions files/ja/web/api/gpuoutofmemoryerror/gpuoutofmemoryerror/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: "GPUOutOfMemoryError: GPUOutOfMemoryError() コンストラクター"
slug: Web/API/GPUOutOfMemoryError/GPUOutOfMemoryError
l10n:
sourceCommit: 89c435da452257b944b403cc9e45036fcb22590e
---

{{APIRef("WebGPU API")}}{{SeeCompatTable}}{{SecureContext_Header}}

**`GPUOutOfMemoryError()`** コンストラクターは、新しい {{domxref("GPUOutOfMemoryError")}} オブジェクトのインスタンスを生成します。

## 構文

```js-nolint
new GPUOutOfMemoryError(message)
```

### 引数

- `message`
- : なぜエラーが発生したかを説明する人間向けのメッセージを提供する文字列です。

##

開発者は、自分でこのコンストラクターを用いて `GPUOutOfMemoryError` オブジェクトを生成することはないでしょう。ユーザーエージェントは、{{domxref("GPUDevice.popErrorScope")}} または {{domxref("GPUDevice.uncapturederror_event", "uncapturederror")}} イベントでアウトオブメモリーエラーが浮かび上がってきた際、適切なオブジェクトを生成するためにこのコンストラクターを用います。

`GPUOutOfMemoryError` オブジェクトのインスタンスを扱う具体的な例は、メインの [`GPUOutOfMemoryError`](/ja/docs/Web/API/GPUOutOfMemoryError#例) のページを参照してください。

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- [WebGPU API](/ja/docs/Web/API/WebGPU_API)
- [WebGPU Error Handling best practices](https://toji.dev/webgpu-best-practices/error-handling)
62 changes: 62 additions & 0 deletions files/ja/web/api/gpuoutofmemoryerror/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
title: GPUOutOfMemoryError
slug: Web/API/GPUOutOfMemoryError
l10n:
sourceCommit: 6c592023efa1f762eaa1eb1f36241750626be51c
---

{{APIRef("WebGPU API")}}{{SeeCompatTable}}{{SecureContext_Header}}

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

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

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

{{InheritanceDiagram}}

## コンストラクター

- {{domxref("GPUOutOfMemoryError.GPUOutOfMemoryError", "GPUOutOfMemoryError()")}} {{Experimental_Inline}}
- : 新しい `GPUOutOfMemoryError` オブジェクトのインスタンスを生成します。

## インスタンスプロパティ

親の {{domxref("GPUError")}} から `message` プロパティを継承しています。

- {{domxref("GPUError.message", "message")}} {{Experimental_Inline}} {{ReadOnlyInline}}
- : なぜエラーが起きたのかを説明する人間向けのメッセージを提供する文字列です。

##

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

```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(`アウトオブメモリー、バッファが大きすぎます。エラー: ${error.message}`);
}
});
```

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- [WebGPU API](/ja/docs/Web/API/WebGPU_API)
- [WebGPU Error Handling best practices](https://toji.dev/webgpu-best-practices/error-handling)

0 comments on commit aed5329

Please sign in to comment.