ニュース
AMDがグラフィックスAPI「Mantle」を発表。次世代機を制したAMDによる「ゲーム開発者囲い込み&NVIDIA排除システム」の正体に迫る
そして,同イベントにおいてAMDはもう1つ,非常に重要な発表を行っている。それが,新しいグラフィックスAPI「Mantle」(マントル)だ。
そもそもMantleとは何か
現在,PCゲームのグラフィックス開発においては,マルチメディアコンポーネントAPI※である「DirectX」に含まれる「Direct3D」や,Khronos Groupによる「OpenGL」が,グラフィックスAPIの標準規格として活用されている,というのは,4Gamer読者には釈迦に説法だろう。
Direct3DとOpenGLでは,GPUのレンダリングパイプラインを駆動するための前段階処理(プリプロセス)を抽象化して,GPUアーキテクチャを仮想的に統一するようなメカニズムが組み込まれている。このメカニズムを「抽象化レイヤー」と呼んだりするが,それを通じて,グラフィックスドライバソフトウェアは,GPUを駆動するためのプリプロセスを実行するわけだ。
※Application Program Interface。あるソフトウェアを開発するときに利用可能な 命令や関数を集めたもの
座標系文化の違い,描画コマンドの組み立て方の違いなどは,そうした翻訳吸収フェーズで処理される部分となっている。
一方,PlayStationやXboxといったゲーム専用機では,ハードウェア仕様が画一化されているため,ハードウェアの違いを考慮する必要はない。当然,PCのような翻訳吸収フェーズは不要だ。もちろん,最低限のAPIとして機能するものがゲームソフトウェアとハードウェアとの間には介在するが,その厚みは限りなく薄い。GPUを直接叩いているのとほとんど変わらないと述べてもいいくらいだ。
PCゲームの場合は,PCに搭載されるハードウェア(=GPU)のメーカーや世代に違いがあるため,こうしたワザは使えない。だからこそ,Direct3DやOpenGLの存在意義が大きいわけだが,もし,PCに搭載されるハードウェアのメーカーや世代をある程度限定できたらどうだろう? それが可能になれば,ゲーム専用機におけるゲーム開発のように,極めて薄い抽象化レイヤーのグラフィックスAPIを使って,PCでもGPUを直接叩けるようになるのではないか……。
これを現実にやってしまったのが,本稿の主役となるMantleである。Mantleは,「PCに搭載されるハードウェア(=GPU)のメーカーや世代」を,「Graphics Core Next世代(以降)のAMD製GPU」として限定し,設計してきたグラフィックスAPIなのだ。
1990年代にも,Mantleのような,メーカーやハードウェアを限定した独自のグラフィックスAPIは存在した。その筆頭として思い出されるのが,3Dfx製グラフィックスチップ「Voodoo」向けの「Glide」(グライド)である。厳正を期せば,Glideの基本設計はOpenGLベースだが,Voodoo専用という意味で「ハードウェア限定API」だった。この時代のPCゲームは,Glide版とDirect3D版が両方提供されていたりもしたほどだ。
ただ,PCゲーム開発者からすると,1つのゲームタイトルで2バージョンを制作する必要があった。そうした面倒を解消するために,Microsoftは,ゲーム開発に使いやすくなるよう,Direct3Dを進化させてきたわけである。
つまりMantleは“Glide的”なAPIであり,時代に逆行した存在のようにも思える。ではなぜAMDは,そんな戦略をこのタイミングで発表したのだろうか。
Mantleに秘められた,AMDのしたたかな囲い込み戦略
PS4やXbox Oneのゲーム開発者へ提供される開発キットに含まれるグラフィックスAPIは,Direct3DでもOpenGLベースでもない独自仕様。抽象化レイヤーはもちろん極薄で,直接GPUを叩くのに近い仕様である。
PS4とXbox OneのグラフィックスAPIは細部において異なるとはいえ,同じ世代のGCNアーキテクチャベースということもあって,共通する部分はとても多い。そのため,ゲーム開発スタジオ側からしてみれば,このPS4およびXbox One世代のゲーム開発において,スタジオが独自に持っているグラフィックスエンジンを両方のプラットフォームに対応させることはそれほど難しくない。
むしろ,PS4とXbox One世代のゲーム開発においては「タイトルをPS4とXbox One基準で開発してPC向けにも提供する」場合,せっかくGCNアーキテクチャのGPUネイティブ向けに設計してチューニングしたグラフィックスを,汎用GPU向けのDirect3DやOpenGLに再設計し直すことのほうがずいぶんと面倒だったりするのだ。
しかも,PC向けにはAMDがGCNベースのRadeonを市場投入しており,それらは市場で一定のシェアを有している。となると,ゲーム開発者側の立場で考えれば,PS4やXbox One向けのゲームグラフィックスをDirect3DやOpenGL向けに再設計せずそのままRadeon上で走らせたほうがラクであり,ありがたい。
「そういうことであれば,GCNアーキテクチャのGPUをネイティブに叩くような設計になっており,PS4やXbox One向けに提供されるグラフィックスAPIと極めて近いMantleを使いませんか。Mantleなら,PS4やXbox Oneよりも高い性能を持つPC向けGPUに向けてゲームグラフィックスの品質をスケーラブルに高めるのも簡単ですよ」というのが,AMDのメッセージなのである。
AMDはMantleで,「PS4やXbox One向けのゲームを,少ない労力でPCへ移植できる」とゲーム開発者に訴求できる。またユーザーに対しては,Direct3DやOpenGLベースで動かすよりも性能を高くできるという訴求が可能だ。グラフィックスの描画を行うためにはDirect3DやOpenGLといったAPIに「DrawCall」(ドローコール)を発行しなければならず,これが多発すると性能面でのボトルネックになる――PCにおけるグラフィックス処理の「最適化」は,往々にしてDrawCall数の削減だったりする――のだが,Mantleでは既存のAPI比で9分の1にまでDrawCallオーバーヘッドを削減できたとAMDは謳っているので,性能面では大いに期待できる。
つまり,ゲーム開発者とユーザーの双方に対して,GCNアーキテクチャのGPUによる囲い込みができることになる。PCゲーム業界における,事実上のNVIDIA(とIntel)排除にもつながるだろう。
AMDからしてみると,仮にMantleが成功しなくても,AMDとしてDirect3DやOpenGLのサポートをやめるわけではないため,あまり痛くない。同時に,ゲーム開発者やゲーマーに「それならAMDのほうがいいかな?」と思ってもらえるだけでも,ブランディング効果は大きい。
こうした戦略は,PS4とXbox Oneという新世代据え置き型ゲーム機にAPUを提供しているAMDにしか採り得ないものだ。実にローリスクハイリターンなのである。
始まる,新グラフィックス技術戦国時代
もっともMantleには,そうした開発者&ユーザー囲い込みや,競合排除という戦略面以外にも価値があるという見方がある。その直接的な理由となっているのが,近年におけるDirect3Dの停滞だ。
DirectXでは,Windows 8.1の登場とともにDirectX 11.2が提供される見込みだが,そもそも,DirectX 11.0が提供されたのは2009年のこと。DirectX 11時代に突入してもう4年も経過してしまっている。
同一メジャーバージョンのDirectXが4年以上続いたケースは今回が初めてではなく,過去にもDirectX 9が5年続いたことはあるが,あのときと決定的に異なるのは,DirectX 9時代に示されていた「今後のロードマップ」が,いまは示されていないこと。しかも,MicrosoftのDirectX開発チームも表だった活動を最近はほとんど行っていない。
たしかに,AMDが今後のグラフィックス技術において舵取りをしていこうと考えていても不思議ではないだろう。
Mantleに残された謎。そして競合の反応は?
Mantleのコンセプトは,PS4やXbox One世代のゲーム開発において理にかなている。AMDにとってローリスクハイリターンな戦略であるというのも先に述べたとおりだが,実際に成功させるには,魅力的なMantle対応ゲームタイトルが必要不可欠だ。
そこでAMDはGPU14 Tech Dayにおいて,Electronic Artsの研究開発部門であるFrostbiteが同社の「Frostite 3」エンジンをMantleに対応させたことと,10月29日発売予定の「Battlefield 4」をMantle対応にすべく,アップデートを12月に無償で提供することを発表している。
「Unreal Engine」や「CryENGINE」「id Tech」「Source Engine」「Unity」といった著名なエンジンがMantleに対応するという話は今回のイベント中に出てこなかったが,仮に対応してくるなら,Mantle計画は,成功に向けて大きな一歩を踏み出すことになるかもしれない。
なお,Mantleに関する続報は,11月に開催予定の「APU Developer Summit 2013」(APU13)で明らかになる見込みだ。
ところで,AMDのGPUを採用した据え置き型ゲーム機にはWii Uもあるが,Wii UにおけるMantleのサポートに関して,AMDは立場を明らかにしていない。Wii Uも無視できない存在だが,いかんせんWii UのGPUが採用しているアーキテクチャは,ATI Radeon HD 4000世代のものだ。GCNアーキテクチャが前提となっているMantleをWii Uでもサポートするのは難しそうだが……。
また,Mantleの発表を受けたNVIDIAのリアクションも気になるところだ。NVIDIAは初代XboxとPlayStation 3にGPUを提供し,ゲームグラフィックスの進化に貢献してきたが,新世代ゲーム機においては一歩下がった立場となり,最近ではむしろ,自社製SoC(System-on-a-Chip)「Tegra 4」を搭載するAndroidゲーム機「SHIELD」や,自社開発のAndroidタブレット「Tegra Note」,あるいはValveの「SteamOS」に注力しているようにも見える。
とはいえ,GPGPUのデファクトスタンダードにもなったCUDAを有し,ゲーム機用タイトルの開発にも使われる物理シミュレーションエンジン「PhysX」なども抱えるNVIDIAは,ゲーム開発シーンにおいて,依然として重要な地位を守り続けており,無視できるわけではない。
AMDはいまや,下に示した動画をYouTubeにアップするほど勢いづいている。それだけに,NVIDIAからも何からの反応があるはずだ。
今後の動向は要注目である。
AMD日本語公式Webサイト
- 関連タイトル:
Mantle
- この記事のURL: