Latest evidence-based health information
Apps

DirectX 12 をターゲットにした、プラットフォームに依存しない強力なゲーム技術、Vulkan をご紹介します。

DirectX 12 をターゲットにした、プラットフォームに依存しない強力なゲーム技術、Vulkan をご紹介します。
DirectX 12 をターゲットにした、プラットフォームに依存しない強力なゲーム技術、Vulkan をご紹介します。

時代は変わりつつあり、数十年にわたりゲームで使用されてきたグラフィックス技術も変化しています。Khronos Groupは、約25年にわたるOpenGLを捨て去り、次世代ゲーム向けに開発された強力なゲーム中心のAPI、Vulkan(旧称glNext、または「Next Generation OpenGL Initiative」)で新たなスタートを切ります

グラフィック API に詳しい方なら、AMD の Mantle や Microsoft の DirectX 12 のおかげで、この 1 年で「より高速」、「よりスリム」、「よりリアルに」といった言葉が飛び交っているのを耳にしたことがあるでしょう。

もう一度聞けるように準備しておいてください。Vulkanはまさにそれを実現するからです。先週末、Khronos GroupのプレジデントであるNeil Trevett氏と話す機会があり、Vulkanとは何か、何のためにあるのか、そして誰をターゲットにしているのかなど、Vulkanの詳細について話し合いました。(注:Trevett氏はNvidiaでモバイルエコシステム担当副社長も務めています。)

DirectX 12(そして技術的にはMantleも。ただしMantleの将来は今のところ…控えめに言っても不透明です)にとって、プラットフォームに依存しない強力な競合となりそうなVulkanについて、まずは概要をご覧ください。ValveのSteam Machineが普及すれば、その基盤となる技術はVulkanになるでしょう。

互いに愛し合いなさい

「最新かつ真にモダンで、最先端のパフォーマンスを提供するオープン スタンダードのクロス プラットフォーム API が存在することが重要です」と Trevett 氏は言います。

GPUを使いたいプラットフォームの数は、もはやPCやスマートフォンだけではありません。拡張現実(AR)システム、仮想現実(VR)、そして自動車も画像処理にGPUを使っています。非常に多様なプラットフォームが登場しており、もしこれらのプラットフォーム全てが独自のAPIを持っていたら、世界は非常に悲惨な状況になるでしょう。

ヴルカンAPI

Vulkanは、ビデオゲームに特化した新しいクロスプラットフォームのオープンスタンダードです。これは重要な違いであり、その理由については後ほど詳しく説明します。

OpenGLを「非効率」と表現するのは少々厳しいかもしれませんが、ゲーム用途においては、それほど的外れではありません。25年間もの間、OpenGLにはレガシーな機能が組み込まれているだけでなく、ゲーム以外の用途での使用による様々な問題を抱えています。さらに、API自体もコンテキスト管理やエラー追跡といった問題のために、GPUの性能をフルに活用できていません。OpenGLは、ユーザーが実際にGPUを使いたいと考えるようにGPUを制御しますが、必ずしもユーザーが実際にGPUを使いたいように制御するわけではありません。

Vulkan?「私たちはこれを『明示的な』APIと呼んでいます」とトレベット氏は言います。「VulkanはGPUを目の前に展開し、好きなように制御できます。マルチスレッド処理などをより効率的に実行でき、柔軟性も大幅に向上します。」

そのパワーには代償が伴います。つまり、注意しないとシステムが完全に破壊される可能性が高くなります。

「これは異なるタイプの開発者にとって魅力的なものになるでしょう」とトレベット氏は語る。「Valve、Epic、Unityといったゲームエンジン開発者のビジネスは、クロスプラットフォームアプリケーションのパフォーマンスを最大限に引き出すことにかかっています。彼らは、GPUの性能を最大限に引き出すために、Vulkanのようなツールを使うことに時間と労力を費やしたいと考えています。」

ヴルカン API 2

OpenGLは死んだ。OpenGL万歳。

ここで重要な点が浮かび上がります。OpenGLはどうなるのでしょうか?Vulkanはかつて「次世代OpenGLイニシアチブ」と呼ばれていました。OpenGLの後継として売り出されたのです。実にシンプルです。「異なるタイプの開発者にアピールする」といった表現は、より控えめな印象を与えます。

「これがここでの重要なメッセージの一つです」とトレベット氏は言う。「Vulkanは素晴らしく、新しく、輝かしいものですが、もちろん開発サイクルはまだ始まったばかりです。OpenGLは絶頂期にあり、数十億台のデバイスへのアクセスを可能にしています。これらのAPIを維持するだけでなく、進化させていくことがビジネス上の必須事項となるでしょう。おそらく今後何年もの間、それは続くでしょう。私たちはOpenGLを放棄するつもりはありません。」

わかりましたか? DirectX、Mantle、そして今ではVulkanがゲームコミュニティでの役割から多くの注目を集める傾向にありますが、Trevett氏はゲームと他のGPUの用途との間にすぐに線引きをしています。多くのGPUは、より汎用的なAPIであるため、長年OpenGLに依存してきました。

ヴルカン API 4

その一方で、「Vulkan がなければ、Mantle や DirectX 12 ではなくこの種の機能を求める人々にとって、OpenGL はどんどん時代遅れに見え始めるでしょう」と Trevett 氏は認めています。

Vulkan は本質的に「ケーキを食べて、それをまた食べる」という格言を想起させます。つまり、Khronos は、長い歴史を持つ、より充実したグラフィック API を必要とする開発者をサポートし続けると同時に、より柔軟で簡素化されたソリューションを必要とするゲーム開発者の要求にも対応できるということです。

もし Vulkan が開発されていなかったら、オープン スタンダード グラフィックスの動きは、DirectX 12 のようなより新しく強力なテクノロジによって根こそぎにされていたでしょう。Steam Machines は、起動する前に消滅していたでしょう。

港のための王国

「完璧な世界なんてないんだよ」とトレベット氏は冗談を言う。「もちろん、DirectX は間違いなく Windows の重要な API になるだろうね。」

OpenGLはクロスプラットフォーム対応であるにもかかわらず、長年DirectXと競合しており、Vulkanでもその状況は間違いなく続くでしょう。一方、Steam Machinesの登場が期待される中、お気に入りのオープンソースOSで人気ゲームがますます増えているLinuxゲーマーにとっては朗報です。「VulkanとDirectX 12間の移植はそれほど難しくないだろうと考えています」とTrevett氏は述べています。

「DirectX 12からVulkanへの移植は、DirectX 12からOpenGLへの移植よりも簡単です」と彼は続ける。「DirectX 12とVulkan、そしてMantleは、次世代では似たようなものになるでしょう。私たちは皆、同じような方法で同じ問題を解決しているのです。」

ヴルカン API 3

そして、ほぼすべての人にとって朗報です。Vulkanを活用するために新しいハードウェアが必要になる可能性は低いでしょう。DirectX 12と同様に、Khronosは互換性をハードウェアの数世代前まで延長することを目指しています。つまり、APIが正式にリリースされ、新しいゲームに導入されれば、古いハードウェアでもパフォーマンスの向上を実感できる可能性があります。

「私たちは設計目標を設定しています。非常に明確な目標です」とトレベット氏は語る。「OpenGL ES 3.1をサポートできるハードウェアであれば、Vulkanもサポートできるようになります。つまり、コンピュートシェーダーを実行できるGPUであれば、基本的にどれでも対応できるということです。」

PC 側では、これは 2012 年 8 月にリリースされた OpenGL 4.3 に相当します。OpenGL 4.3 のサポートは、Nvidia GeForce 400 シリーズおよび ATI Radeon HD 5000 シリーズにまで遡ります。つまり、基本的に 2009 年後半から 2010 年初頭以降に購入されたすべての GPU です。Steam ハードウェア調査から判断すると、これらの仕様は PC ゲーム コミュニティのかなり大きな部分も網羅しています。

Vulkanはまだ初期段階で、正式な仕様もまだありませんが、Khronosは私の注目を集めています。ValveとKhronosは木曜朝のGDCパネル「glNext: 高性能グラフィックスの未来(Valve提供)」で、このAPIを開発者向けに正式に共同発表する予定なので、今週後半にはさらに詳しい情報が公開されるかもしれません

Otpoo

Health writer and researcher with expertise in evidence-based medicine and healthcare information.