1. 開発者向けのウェブ技術
  2. Web API
  3. GPUAdapter
  4. GPUAdapter: limits プロパティ

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

GPUAdapter: limits プロパティ

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

Want more support for this feature? Tell us why.

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

GPUAdapter インターフェイスの読み取り専用プロパティ limits は、アダプターが対応している制限を表現する GPUSupportedLimits オブジェクトを返します。

ドライブバイフィンガープリンティングで利用できる一意な情報を減らすため、ブラウザーは各 GPU の正確な制限を報告するのではなく、それぞれの制限で異なる段階ごとの値を報告する可能性が高いです。たとえば、ある制限の段階は 2048、8192、32768 である可能性があります。GPU の実際の制限が 16384 である場合は、このブラウザーは 8192 として報告します。

異なるブラウザーは異なる扱いをする可能性があり、段階の値は時間の経過で変わる可能性があるため、正確な制限の値を予想するのは難しいです。徹底的にテストすることが推奨されます。

GPUSupportedLimits オブジェクトのインスタンスです。

以下のコードでは、GPUAdapter.limitsmaxBindGroups の値を問い合わせ、6 以上であるかをチェックします。理論上のサンプルアプリケーションは理想的には 6 個のバインドグループを必要とするので、返された値が 6 以上の場合は requiredLimits オブジェクトに最大値 6 を追加適用し、GPUAdapter.requestDevice() を用いてこの制限の要件を満たすデバイスを要求します。

js
async function init() {
 if (!navigator.gpu) {
 throw Error("WebGPU に対応していません。");
 }
 const adapter = await navigator.gpu.requestAdapter();
 if (!adapter) {
 throw Error("WebGPU アダプターを要求できませんでした。");
 }
 const requiredLimits = {};
 // アプリケーションは理想的には 6 個のバインドグループを必要とするので、
 // アプリケーションが必要とする分の要求を試みる
 if (adapter.limits.maxBindGroups >= 6) {
 requiredLimits.maxBindGroups = 6;
 }
 const device = await adapter.requestDevice({
 requiredLimits,
 });
 // ...
}

仕様書

仕様書
WebGPU
# dom-gpuadapter-limits

ブラウザーの互換性

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /