お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
新世代の低オーバーヘッドなグラフィックスAPI「Vulkan」,ついに正式始動
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2016/02/17 17:06

業界動向

新世代の低オーバーヘッドなグラフィックスAPI「Vulkan」,ついに正式始動

Vulkan 1.0 - A Specification
画像集 No.002のサムネイル画像 / 新世代の低オーバーヘッドなグラフィックスAPI「Vulkan」,ついに正式始動
 北米時間2016年2月16日,OpenGLなどのグラフィックスAPIをはじめとする標準API仕様を策定している業界団体Khronos Group(クロノスグループ,以下 Khronos)は,新世代グラフィックスAPI「Vulkan」(ヴァルカン)の正式な仕様書「Vulkan 1.0 - A Specification」をリリースした。

Vulkan 1.0 Specificationなどの入手先

Khronosのgitリポジトリ


 Vulkanは,2015年3月開催のGame Developers Conference 2015(以下,GDC 2015)において,正式名称や概要が発表されていたAPIだ。当初は同年8月のSIGGRAPH 2015までに仕様を固める計画があったのだが,諸般の事情から仕様策定の期限が,2016年3月15日開幕予定のGame Developers Conference 2016(以下,GDC 2016)まで先送りされていた。その先送りされた期限目標に,めでたく間にあった格好である。

VulkanはOS非依存のAPIで,WindowsやAndorid,Linuxなどから利用できる。なお,KhronosはVulkan 1.0に合わせ,オープンソースのソフトウェア開発キット「LunarG」もリリースしている
画像集 No.004のサムネイル画像 / 新世代の低オーバーヘッドなグラフィックスAPI「Vulkan」,ついに正式始動

 本稿では,Vulkan 1.0 Specificationの概要と,関連各社の対応を,簡単にまとめてみたい。


紆余曲折の末に登場したVulkan


画像集 No.003のサムネイル画像 / 新世代の低オーバーヘッドなグラフィックスAPI「Vulkan」,ついに正式始動
 そもそもVulkanとは何かという話は,GDC 2015以降,4Gamerでも折に触れて紹介してきているが,ざっくりまとめるなら,従来よりもGPUハードウェアに近い――これを専門用語では「低レベル」(low level)と言う――グラフィックスAPIである。

 低レベルなAPIは,ドライバのオーバーヘッド(overhead。ある処理に関連する,付加的な処理のこと。性能低下の原因になりやすい)を大幅に削減できると同時に,GPUが持つパワーをフルに発揮させやすい。また,GPUとCPUの負荷のバランスを適切にチューニングしやすくなる利点もある。
 たとえば,「CPUが処理している間,GPUが“遊んで”しまう」といった負荷のアンバランスが生じると,GPUとCPU双方の潜在的な能力が生かせない。その点,オーバヘッドが低いAPIを使ってGPUとCPU双方の負荷バランスのチューニングを行えば,ハードウェアの性能をフルに発揮させることができるようになるというわけだ。

VulkanではCPUスレッドごとにGPUのコマンドバッファを持てる。そのため,CPUスレッドを効率的に利用でき,ひいてはGPUとCPUの利用効率を上げることが可能になる。このあたりは先行するDirectX 12とも通ずるコンセプトだ
画像集 No.005のサムネイル画像 / 新世代の低オーバーヘッドなグラフィックスAPI「Vulkan」,ついに正式始動

 低レベルAPIの分野で先陣を切ったのは,2013年9月にAMDが自社のGPUやAPU向けに提供を開始した「Mantle」(現Mantle 1.0)である。さらに,MicrosoftがWindows 10とともにローンチした「DirectX 12」も低レベルAPI群を用意しており,Appleにも独自の「Metal」がある。なので,ゲーマーにも関係のある低レベルなグラフィックスAPIとして,Vulkanは4番めに登場したものということになるだろう。

DirectX 12はWindowsのみ,MetalはiOSとMacOSのみが対象となるのに対し,VulkanはWindowsやAndroid,Linuxに対応できる。性能面もポテンシャルも高い,というスライド
画像集 No.007のサムネイル画像 / 新世代の低オーバーヘッドなグラフィックスAPI「Vulkan」,ついに正式始動 画像集 No.008のサムネイル画像 / 新世代の低オーバーヘッドなグラフィックスAPI「Vulkan」,ついに正式始動

GDC 2015のタイミングで公開となったスライドより。Khronosとして,AMDのMantleに感謝する言葉が入っていた
画像集 No.010のサムネイル画像 / 新世代の低オーバーヘッドなグラフィックスAPI「Vulkan」,ついに正式始動
 もっとも,MantleとVulkanは,密接な関係がある。Vulkanはもともと,Khronos内に設けられた「OpenGLに続く次世代のグラフィックスAPI仕様を策定するワーキンググループ」に対して,メンバーの1社であるAMDがMantleをたたき台として提案したことに始まる。AMDによると,その提案は2014年6月のことだそうで,当時の仮称は「neXt Generation Graphics Library」くらいの意味を持つ「XGL」だった。

 その後,紆余曲折があったようだが,最終的に,MantleをベースとしてXGLの仕様策定が始まり,GDC 2015に合わせてVulkanという正式名称,そしてAPIの概要が発表となった。それから詰めの作業によって仕様が固まり,今回のバージョン1.0仕様書発表に至ったというわけである。


ゲームでは存在感を高める可能性があるVulkan


 Windowsの低レベルグラフィックスAPIでは,AMDのMantleがフェードアウトし,DirectX 12が少しずつ存在感を増している。さらに,先に紆余曲折があったと述べたが,その1つとしては,Vulkan策定に至る前に,Appleがワーキンググループから離脱という“事件”もあった。Appleはその後,独自の低レベルグラフィックスAPIとして前出のMetalを提唱し,独自路線を突き進んでいる。

 なので,今回の1.0仕様書リリースも,業界全体から「いよいよローレベルグラフィックスAPIの本命が登場した」と歓迎されたりしているわけではない。取り巻く状況は,決して穏やかなものではないのだ。
 ただ,だからといってVulanに将来性がないとも言えない。というのも,Googleが同社のモバイル向けOS「Android 6.0 Marshmallow」におけるVulkan対応をいち早く表明しているからである。

 言うまでもないが,Android OSを搭載する端末の数はPCをはるかに上回り,ゲームプラットフォームとしては世界最大のものとなっている。Androidの場合,別途,OSバージョンの分断問題があるので,いま述べた「世界最大のゲームプラットフォーム」が一斉にVulkanをサポートできるわけではないのだが,将来的に,Vulkanが主流のAPIとなる可能性はある。

AppleはMetalで独自路線を行っていると述べたが,iOSやMacOSからVulkanを利用できないわけではない。Metal上にOpenGL ES 2.0を実装したライブラリ「MetalGL」を提供しているデベロッパであるMoltenが,Metal上にVulkanを実装した「MetalVK」を開発中だ。MetalVKを用いれば,iOSやMacOS上でVulkanベースのソフトウェアを開発できるはずである
画像集 No.009のサムネイル画像 / 新世代の低オーバーヘッドなグラフィックスAPI「Vulkan」,ついに正式始動

 ちなみに,Vulkan 1.0の発表に合わせて,PCの世界における3大グラフィックスハードウェアベンダーであるAMDとIntel,NVIDIAは,いずれもVulkan対応のβ版ドライバや開発キットの配布をスタートさせている。現時点における対応プラットフォームはAMDとNVIDIAがWindows,IntelがLinuxだ。
 また,モバイルGPUベンダー大手のImagination TechnologiesはNexus Player向けドライバ,Qualcommは同社製GPUコアであるAdreno向けソフトウェア開発キット(SDK)の配布をそれぞれ開始済みだ。

AMDのVulkan 1.0対応ドライバ入手先
(GPUOpen.com内)

IntelのVulkan 1.0対応ドライバ入手先
(01.org内)

NVIDIAのVulkan 1.0対応ドライバ入手先
(NVIDIA内)

Imagination TechnologiesのVulkan 1.0対応ドライバ入手先
(Imagination Technologies内)

QualcommのVulkan 1.0対応SDK入手先
(Qualcomm内)


 誤解がないよう付け加えておくと,Vulkanは,既存のOpenGLやOpenGL ESに代わるAPIではない。ハードウェアに近いVulkanは,プログラマーにとって使いやすいAPIとは言えないことから,よりソフトウェアに近い,扱いやすいAPIとして,KhronosはOpenGL系を今後も維持,発展させ続けていくとしている。

Khronos Groupは今後,Vulkanに加えて,高レベルグラフィックスAPIであるOpenGLとOpenGL ES,OpenGL SCや,GPGPU向けのAPI仕様であるOpenCL,そして新世代のシェーダ言語「SPIR-V」といった標準仕様の策定で得られた技術を相互にフィードバックし,これらAPIを進化させていくという
画像集 No.006のサムネイル画像 / 新世代の低オーバーヘッドなグラフィックスAPI「Vulkan」,ついに正式始動

 Vulkanの主なターゲットは,ゲーム及びゲームエンジン開発者だ。モバイルゲームの消費電力削減といった観点からも,Vulkanがモバイルから普及していく可能性は高く,モバイルをサポートするゲームエンジンがVulkanを採用するという展開は十分に考えられる。なのでゲーマーにとってもVulkanは要注目の技術ということになるだろう。
 このタイミングでの正式リリースになった以上,GDC 2016でさまざまな取組みが明らかにされるはずなので,ゲーム関連の技術動向が気になる人は,ぜひ心に留めておいてほしいと思う。

Khronos公式Webサイト

  • 関連タイトル:

    Vulkan

  • 関連タイトル:

    OpenXR

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:12月21日〜12月22日