クロノスがVulkan 1.0オープングラフィックス仕様をリリース

Table of Contents

クロノスがVulkan 1.0オープングラフィックス仕様をリリース

Khronos は次世代オープン グラフィックス API である Vulkan 1.0 をリリースし、Windows および Linux 用の Vulkan SDK が LunarG から入手可能になりました。

Khronosは、OpenGLやWebGLを含むオープングラフィックス標準を策定する業界コンソーシアムです。Vulkanは2015年3月に発表され、OpenGLの次世代を担うものですが、KhronosはOpenGL、そしてモバイルや組み込み向けに設計された簡略化されたOpenGL ESの開発が現在も活発に行われていることを強調しています。

本日のリリースには、仕様バージョン1.0、Valve CorporationがスポンサーとなっているLunarGのSDK、オープンソースの適合性テスト、そしてサンプルアプリケーションが含まれています。Steamで動作するCroteamのTalos Principleは、Vulkan APIを使用したベータ版で利用可能です。

VulkanはGPUベンダーから幅広い支持を得ています。AMDは、Vulkan APIをサポートするRadeonソフトウェアドライバーのベータ版を発表しました。Intelの副社長であるImad Sousou氏によると、Intelは「3世代のIntelグラフィックスプラットフォーム向けに業界認定ドライバーを提供しており、今後もさらに追加していく予定」とのことです。NVIDIAは、Windows、Linux、Android向けのVulkanドライバーを本日より提供開始しています。ImaginationはPowerVR GPU向けのLinuxドライバーの早期アクセス版を公開しており、「近い将来、すべてのツールにVulkanのサポートを拡大する」と約束しています。Qualcommは、Adreno 530および4xx GPU向けのAndroid 6向けVulkanドライバーを発表しており、ARMもドライバーを開発中です。GoogleはAndroid SDKにVulkanのサポートを追加しています。

VulkanはOpenGLのアップデートではなく、異なるアプローチを採用しています。GPUハードウェアへのより直接的なアクセスを可能にし、開発者はGPUコア上で実行される複数のスレッドを作成・管理できるようになります。これによりレイテンシが低減し、パフォーマンスが向上しますが、OpenGLからの移植は容易ではなく、Vulkan APIは開発者にとっていくつかの点でより難しい課題を抱えています。

とはいえ、ほとんどのゲーム開発者はOpenGLやVulkanに直接コーディングするのではなく、ゲームエンジンを使用しています。クロノス代表のニール・トレベット氏によると、この新仕様が真価を発揮するのはまさにこの点です。「これはゲームエンジン開発者にとって夢のAPIです」とトレベット氏はReg誌に語りました。「彼らが求めていたAPIであり、ワーキンググループに設計を依頼してきたのです。」

Vulkanへの移植は、どのような場合に労力を費やす価値があるのでしょうか?「アプリがCPU依存で、OpenGLが作業の作成と送信に関して基本的にシングルスレッドであるためGPUがアイドル状態になっている場合、そしてその作業の作成を並列化できる場合、Vulkanのマルチスレッド化によって大幅な高速化が期待できます。GPUが既に完全に飽和状態になっている場合、Vulkanは効果を発揮しません」とトレベット氏は述べています。

複数のバリエーションを持つOpenGLとは異なり、Vulkan APIは1つだけですが、「機能セット」によって異なるハードウェア機能に対応できます。プラットフォーム所有者は自社プラットフォームの機能セットを定義し、KhronosはWindowsとLinux向けにそれらを提供します。

SPIR-VはVulkanの中間言語です

SPIR-VはVulkanの中間言語です

Vulkanのもう一つの重要な特徴は、グラフィックスと並列コンピューティングのための中間言語であるSPIR-V(Standard Portable Intermediate Representation)のサポートです。これにより、様々なフロントエンド言語からVulkanコードを生成できます。これには、グラフィックスコードだけでなく、GPUを計算集約型の演算アクセラレータとして使用する汎用コードも含まれます。

グラフィック開発者にとっての選択肢は、プラットフォーム固有のAPIとしてはMicrosoftのDirectXかAppleのMetal、クロスプラットフォームAPIとしてはOpenGLかVulkanのいずれかです。Vulkanのパフォーマンス向上は、プラットフォーム固有のAPIの魅力を低下させる可能性があります。これは、LinuxやAndroidなど、AppleやMicrosoft以外のプラットフォームにとっては朗報です。ValvesがVulkan SDKをスポンサードするのは、LinuxベースのSteamOS®など、Windows以外の市場を拡大することに関心を持っていることを考えると、理解できます。

Discover More