34
Khronos、Vulkan、Metal、DirectX 12向け「Meta-API」を開発へ

OpenGL や Vulkan など、あらゆる種類のクロスプラットフォーム アプリケーション プログラミング インターフェイス (API) を開発している Khronos Group は、Vulkan、Apple の Metal、Microsoft の DirectX 12 上で動作する、さらに移植性の高い API を作成すると発表した。

バルカンAPI

Vulkan と DirectX 12 (または Direct3D 12) はどちらも、ある意味では、ゲームにおけるマルチコア CPU パフォーマンスの大幅な向上を約束した AMD の Mantle API から生まれました。

DirectX 12は、言うまでもなくMicrosoftの自社プラットフォーム向けグラフィックスAPIでしたが、MantleはAMDに近すぎるため、他のチップメーカーに採用されるには適さないと考えられていました。そこでAMDは、MantleをKhronos Groupに寄贈し、よりクロスプラットフォームで誰もが支持できるグラフィックスAPIを構築しました。

Vulkanのサポートはまだ完全には普及していませんが、Windows(チップメーカーのドライバーを介して間接的に)、Linux、Android(Androidバージョン7.0以降)など、大多数のコンピューティングデバイスでサポートされています。モバイルおよびデスクトップコンピューティング市場でVulkanを採用していない主要企業はAppleだけと思われます。Appleは既に独自の「Metal」グラフィックAPIを持っているためです。

クロノスのポータビリティ向上計画

Khronosは、この分野は実際にはかなり断片化されているため、Vulkan、Metal、DirectX 12の上にオーバーレイとして機能する新しいAPI(いわゆるメタAPI)が必要になると主張しました。同グループは、このソリューションは(その基盤となるより「ネイティブ」で明示的なAPIと比較して)ほぼ完全な効率で動作する必要があると述べました。また、3つのAPIすべてが互いに同期して進化するわけではない可能性が高いため、3つのAPI間の差異にも対処する必要があると述べました。

Khronosは、これらの差異に対処するための解決策として、これらを完全に省略し、3つの明示的APIの機能の共通部分に基づいて新しい「ポータブルAPI」を構築することを提案しているようです。言い換えれば、ポータブルAPIの機能仕様は、Vulkan、Metal、DirectX 12の最小公分母によって定義されることになります。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

同グループは、3つのAPIのうち、主にパフォーマンス重視の機能が省略されると付け加えた。このことから、3つの明示的なAPIそれぞれで使用されるパフォーマンス最適化の一部が削除されたとしても、「完全な効率性に近い」というクロノスの目標が達成されるかどうかという疑問が生じる。

次世代WebグラフィックAPIの構築

新しいメタAPIが唯一意味を持つ可能性があるのは、次世代APIを用いたウェブゲームの構築です。VulkanやMetalといった明示的なAPIは、セキュリティ上の懸念(攻撃者がリモートからハードウェアを直接制御できる可能性)から、ブラウザから直接使用するには低レベルすぎる可能性があります。

いずれにせよ、何らかのオーバーレイまたはサンドボックスを構築する必要がありましたが、同時に、最近完成した WebGL 2.0 仕様 (OpenGL ES 3.0 に基づく) よりも優れたパフォーマンスをもたらす必要がありました。

Appleは先月、似たようなAPI「WebGPU」を発表しました。これは、Vulkan、Metal、DirectX 12上で動作するWebグラフィックスの標準となるものです。しかし、Appleが既存のオープンなVulkan APIを採用したくなかったことを考えると、Appleが今になって他社に自社の標準を採用するよう求めるのは奇妙に思えます。

Appleとの妥協?

新しいKhronosメタAPIのアイデアがそもそも生まれたのは、AppleがVulkanを採用したがらなかったためでしょう。Vulkanは既にチップメーカーのドライバサポートを通じてWindows上で動作しているため、Vulkanを真のクロスプラットフォーム化する上でAppleが大きな障害となっています。

おそらくクロノスとAppleの間で妥協案が成立するでしょう。クロノス(とその全会員)はVulkanとDirectX上で動作するAppleのWebGPU APIを採用し、AppleはMetalを放棄してVulkanを採用するのです。こうすれば、クロノスはVulkanのような明示的な3D APIに基づく新しいWebグラフィックAPIのために車輪の再発明をする必要がなくなり、AppleもクロノスのWebGPU代替案をサポートする手間が省けます。Webは本質的にクロスプラットフォームであるため、クロノスが独自のWebGPUを開発した場合、AppleはWebGPUを放棄せざるを得なくなる可能性が高いでしょう。したがって、Appleは他の誰もが採用するブラウザAPIを採用する方向に歩み寄ることになるはずです。

既に述べたように、KhronosがメタAPIを開発するかどうかに関わらず、WebグラフィックスAPIは必要です。同時に、AppleがVulkanを採用すれば、ネイティブゲームはパフォーマンスの低いクロスプラットフォームAPIを使用する必要がなくなります。Windows、Linux、macOS、Android、iOSでVulkanを使用すれば済むのです。KhronosとAppleは、互いのAPI標準化をめぐる苦戦を避け、互いにメリットのある合意を築けるはずです。

ルシアン・アルマスは、Tom's Hardware USの寄稿ライターです。ソフトウェア関連のニュースやプライバシーとセキュリティに関する問題を取り上げています。