WebGPU

提供: MonoBook
2019年9月20日 (金) 15:40時点における122.132.6.61 (トーク)による版 (→‎性能)
ナビゲーションに移動 検索に移動

WebGPUとは、表向きはW3C、実際にはアップルが開発している「WebGLが古臭くクソなので現代風のものに置き換えよう」というウェブブラウザ向けの3DグラフィックスAPIである。

概要

WebGPUの基本コンセプトはMetalDirect3D 12Vulkanと同じである。 つまり「速度こそ正義」というものであり、ハイエンドGPUに優しい突撃仕様となっている。

一方、グーグルWebGLを「OpenGL ES 3.0相当」に拡張した「WebGL 2.0」を発表した。 こちらは「汎用性こそ正義」というものであり、ローエンドスマホ向けSoCに優しい仕様となっている。

対立するものというよりは以下のように世代が違う3種類という感じである。

  • WebGL - dx9世代
  • WebGL 2.0 - dx10世代
  • WebGPU - dx12世代

性能

アップルによると、WebGLとWebGPUの性能差は、 インテルオンボードGPUでは大差はでないが、 GeForceRadeonを搭載したPCだと4〜8倍くらいの性能差がでるとしている。 まさにハイエンドGPUの性能を引き出すことに注力されている。

またページが読み込まれ実際にレンダリングが開始されるまでの速度がWebGLと比べて大幅に向上している。これはシェーディング言語のコンパイル速度によるところが大きい。

ブラウザの対応状況

2019年時9月時点ではWebGPUとWebGL 2.0のどちらも、各ブラウザにおいて「実験的な機能」にとどまっている。

シェーディング言語

シェーディング言語は「WSL(語源:Web Shading Language、読み:ほいっする、旧:WHLSL)」を採用している。

WebGPUはアップルが開発を主導しているため当初は同社のMetalで使用されているものが採用されていたが、突如「HLSL」をベースに簡素化と拡張を施したものへと変更された。これは最先端を突っ走るような世界ではDirect3Dが主流であるためのようだ。

関連項目