Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ja] Translate GPUOutOfMemoryError #23660

Merged
merged 2 commits into from
Sep 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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(`Out of memory, buffer too large. 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)