57
クロノスがVulkanをmacOSとiOSに導入、Appleは拒否

Apple がクロスプラットフォームの Vulkan グラフィック API のサポートを拒否し、独自の Metal API を採用したことを受けて、Khronos グループは開発者が Vulkan アプリケーションを macOS と iOS に移植するためのツールセットを発表しました。

Appleの周りを巡る

Windowsでは、グラフィックカード開発者がオペレーティングシステム用のグラフィックドライバーを提供しています。しかし、macOSとiOS向けのグラフィックAPIはAppleが提供しており、最初はOpenGLおよびOpenGL ESドライバー、その後Metalドライバーへと進化しました。そのため、Vulkan APIのサポートは、AppleがVulkanを採用するかどうかに完全に依存していました。

しかし、Appleが独自のMetal APIを開発して以来、他のグラフィックAPIのサポート開発への関心は薄れています。AppleはMetal開発を優先しており、macOSとiOSの開発者に対し、このAPIを使ったゲームやアプリの開発を奨励しています。

Apple も最終的に Vulkan をサポートする可能性は低いと思われたため、Khronos Group は Apple のプラットフォームに Vulkan を導入するための別のソリューションとして、Metal API にマップする Vulkan のポータブル バージョンを考案しました。 

ユニバーサルに移植可能なVulkanサブセット

Khronosは以前、AppleがVulkanをサポートしていなくても、開発者がmacOSおよびiOSアプリを開発する際にVulkanをターゲットにできるようにするメタAPIについて発表しました。このAPIは、MetalとVulkanの共通機能を利用し、Metal API呼び出しをVulkan用に変換します。これを実現するために、Khronosは開発者向けツールセットもリリースしました。1つは以前は商用だったMoltenVKライブラリで、現在はオープンソースとなっています。もう1つは、Vulkan用のオープンソースのLunarG macOS SDKです。

これらのツールは、Valveの支援(と資金提供)を受けてオープンソース化されました。ValveはすでにDota 2をmacOSのVulkanに移植しています。このバージョンのDota 2は、以前のOpenGLバージョンと比較して既に大幅なパフォーマンス向上を示しています。以下の比較をご覧ください。

Khronosは、開発者が将来的にDirectX 12ゲームをVulkanに移植する際に、ポータブルなVulkanメタAPIも活用することを期待しています。APIの変換時にはパフォーマンスが低下しますが、Khronosによると、変換は低レベルAPIから別の低レベルAPIへと行われるため、影響は軽微です。

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

ポータブルVulkan APIは、Vulkanのすべての機能をサポートするわけではありません。MetalやDirectXからVulkanにすべてが完璧に変換されるわけではないためです。基盤となるAPIの機能が増えるにつれて、ポータブルAPIもより多くの機能をサポートできるようになります。これにより、開発者はポータブルAPIを通じて、あらゆる種類のデバイスやプラットフォームでVulkanをターゲットにすることが可能になります。

オープンソースの MoltenVK は GitHub で見つかります。macOS SDK は LunarXchange で見つかります。

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