モダンブラウザでのWebGPU可用性チェック

Web向け次世代グラフィックスAPIであるWebGPUサポートの検出ガイド。アダプタリクエスト、機能制限、WebGLからの移行を解説。

Graphics

詳細な説明

WebGPU可用性検出

WebGPUはWebGLの後継であり、Vulkan、Metal、Direct3D 12にインスパイアされたモダンで低レベルなGPUアクセスを提供します。パフォーマンスの向上、コンピュートシェーダー、より予測可能なプログラミングモデルを提供します。

基本検出

async function hasWebGPU() {
  if (!navigator.gpu) return false;
  try {
    const adapter = await navigator.gpu.requestAdapter();
    return adapter !== null;
  } catch (e) {
    return false;
  }
}

機能検出

WebGPUアダプタはハードウェアによって異なる機能制限を公開します:

async function getGPUFeatures() {
  const adapter = await navigator.gpu.requestAdapter();
  if (!adapter) return null;
  return {
    features: [...adapter.features],
    limits: adapter.limits,
  };
}

WebGLとの主な違い

側面 WebGL WebGPU
APIスタイル OpenGL ESステートマシン モダンな明示的API
コンピュートシェーダー なし あり
マルチスレッド なし あり(Worker経由)
シェーダー言語 GLSL WGSL
エラー処理 サイレントな失敗 バリデーションレイヤー

ブラウザサポート状況

2025年時点で、WebGPUはChrome、Edgeで利用可能で、FirefoxとSafariではフラグの背後にあります。より広い互換性のために常にWebGLフォールバックを実装してください。

ユースケース

次世代Webゲーム、機械学習推論(コンピュートシェーダーを使用したブラウザでのMLモデル実行)、およびWebGLが提供する以上のGPUコンピュート機能を必要とする科学的可視化アプリケーションに重要です。

試してみる — Browser Feature Detector

フルツールを開く