世界を動かす技術を、日本語で。

Firefox 141におけるWindows向けWebGPUの配信

概要

  • Firefox 141 でWindows向けに WebGPU を正式リリース
  • WebGPU は高性能な計算・描画をウェブにもたらす新世代API
  • Mac・Linux・Androidでも順次対応予定
  • 実装は Rust製WGPU に基づき、オープンソースで開発
  • パフォーマンスや仕様準拠の改善も継続予定

Firefox 141でWindows向けWebGPU正式リリース

  • 長年の開発 を経て、 Firefox 141 でWindows向けにWebGPUをリリース
  • WebGPU はウェブコンテンツからグラフィックスプロセッサ(GPU)を直接制御できる モダンなインターフェース
  • ゲーム・可視化・ローカル計算など ウェブ上の表現力向上 を期待
  • webgpufundamentals.org でチュートリアル、WebGPU Samplesでサンプル体験、MDNでAPIドキュメント提供
  • W3C 標準「WebGPU」と「WGSL」に準拠、Mozillaは2017年から標準化に参加

各プラットフォームへの展開計画

  • Google Chrome では2023年からWebGPU利用可能
  • Safari 26 でも今秋対応予定
  • Firefox 141 ではまずWindowsのみ対応
    • 今後数ヶ月以内に Mac・Linux にも展開予定
    • 最終的に Android にも対応計画
  • ユーザーの大半がWindows利用のため、優先リリース
  • 他プラットフォームでも 十分な安定性・テスト網 が整い次第対応
  • Linuxユーザー の開発者も在籍、他プラットフォーム対応への強い意欲

FirefoxのWebGPU技術基盤

  • Firefox Nightly では既にAndroid以外の全プラットフォームでWebGPUを試験提供
  • 実装は Rust製WGPUクレート を採用
    • Direct3D 12、Metal、Vulkan など各プラットフォームの低レベルAPIに統一的インターフェースを提供
    • GitHub 上で独立したオープンソースプロジェクトとして活発に開発
    • Mozillaも主要なコントリビューター
    • Rust開発者 でWebGPUに興味があれば、まずWGPUプロジェクトへの参加が推奨

今後の課題と改善

  • WebGPUは大規模かつ複雑なAPI
    • まずは 目立つアプリやデモ の安定動作に注力
    • Firefox 141で多くの用途に十分利用可能と判断
  • 今後は パフォーマンス仕様準拠 のさらなる向上が課題
    • WebコンテンツからGPUサンドボックスへの通信 が非バッファ方式でオーバーヘッド大
      • Bug 1968122 で大幅な性能改善、修正はFirefox 142で反映予定
    • GPUタスク完了検知 にインターバルタイマー利用中で遅延発生
      • より効率的な方式へ移行中、 Bug 1870699 で進捗公開
    • importExternalTextureメソッド未対応
      • GPUがデコーダから直接非圧縮動画を読み込む機能、 Bug 1827116 で対応進行中

ユーザーへの呼びかけ

  • FirefoxでWebGPUをぜひ試用 し、問題発生時は BugzillaのWebGPUコンポーネント へ報告を推奨
    • バグ再現手順や about:support の内容添付が重要
  • エンジン開発は一段落 し、日常利用に向けてWebGPUを本格公開
  • Firefox上でのWebGPU活用例 に期待

参考リンク

  • webgpufundamentals.org :WebGPUチュートリアル
  • MDN :WebGPU APIドキュメント
  • WebGPU Samples :実用サンプル集
  • GitHub WGPUプロジェクト :Rust実装の詳細・コントリビュート情報

Hackerたちの意見

ありがとう!Linuxの実装も楽しみだね。これがリリースされたときに試す価値のあるWebGPUデモってある?

これ、かなり印象的だと思ったよ:https://huggingface.co/spaces/webml-community/kokoro-webgpu WebGPUなしでも動くけど、めっちゃ遅いよ。

https://threejs.org/examples/?q=webgpu (WebGPUが使えない場合はWebGLにフォールバックするよ)

見たサイトのほとんどは確かにデモばかりだね。特にCompute Toys [0]、WebGPU用のShadertoyクローンが好きだな。[1]がデモを見つけるのに一番いい場所かも。自分でもWebGPU Compute Shadersを使って実験してるサイトがあるよ。[2] [0] https://compute.toys/ [1] https://github.com/mikbry/awesome-webgpu [2] https://github.com/s-macke/WebGPU-Lab

自分がすごく楽しんで作ってるおもちゃがあって、動画エフェクトを作るのに使ってるんだ。 https://vester.si/motion/

これが最も印象的なデモの一つだと思う: https://github.com/ArthurBrussee/brush Gaussian splattingトレーニングとレンダリングをWebGPUで使ってる。

他のコメントに追加すると、(ほとんどの) Bevyの例はWebGLとWebGPUの両方で利用できるから、比較に便利だよ。 https://bevy.org/examples-webgpu/ + https://bevy.org/examples (WebGL)

知っているアプリのインデックスがあるから、よかったら見てみてね: https://bugzilla.mozilla.org/show_bug.cgi?id=webgpu-apps

一部のUnityデモ: 1. https://boat-demo.cds.unity3d.com/ 2. https://www.keijiro.tokyo/WebGPU-Test/ 3. https://www.chatlord.com/4/

やっと来た!関わったみんなにお疲れ様!今までChromeだけでWebGPUをいじるのはちょっと気が引けてたから、Safariも最近プレビューを有効にしたし、嬉しいよ。

これが見られてすごく嬉しい!というのも、私たちのgpu-allocator [0] クレート(今はwgpuのdx12バックエンドで使われてるけど、vulkanやmetalもサポートできる)が、今まで使ってたよりもずっと広いオーディエンスに届くことになるから。今まではGPUベンチマークスイートのevolveを出荷するために使ってたんだ。[1] [0]: https://github.com/Traverse-Research/gpu-allocator/ [1]: https://www.evolvebenchmark.com/

よくやった!FirefoxがWebGPUを作る手助けをしてくれてありがとう。

Hacker Newsで議論の続きを見る