Mantle (API)
AMDの開発した低レベルのグラフィックスAPI ウィキペディアから
Mantleは、3Dゲームを対象としたローレベルレンダリングAPI[4]である。アドバンスト・マイクロ・デバイセズ(AMD)が、EA Digital Illusions CE(DICE)と共同で2013年より開発を開始した[1]。Direct3DおよびOpenGLを代替するものとして設計され、主としてパーソナルコンピュータ向けであるが、PlayStation 4とXbox Oneに搭載されているGPU (APU) もサポートする[1][5]。
![]() | この項目「Mantle (API)」は途中まで翻訳されたものです。(原文:英語版 05:54, 17 February 2016) 翻訳作業に協力して下さる方を求めています。ノートページや履歴、翻訳のガイドラインも参照してください。要約欄への翻訳情報の記入をお忘れなく。(2016年2月) |
AMDによると、DirectX 12 (Direct3D 12) もしくはクロノス・グループによるMantle派生[6]のVulkan APIによってMantle 1.0の置換が可能であることから、Mantle自体は2015年3月以降、別の領域にフォーカスをシフトするとされている[7][8]。2015年3月までの2年間は、デバイスドライバーによるサポートが行われていたものの、Mantle API仕様自体は一般公開されていなかった[9]。
概要
要約
視点
Mantleが開発された背景には、従来からPC向けのリアルタイム3次元コンピュータグラフィックスAPIとして利用されてきたDirect3DおよびOpenGLは、コンソール(ゲーム専用機)環境とは違って抽象化・共通化・標準化が重視されるためにAPIコールのオーバーヘッドが大きく、またレンダリングにマルチコアCPUを最大限活用することができないといった問題を抱えていたことが挙げられる[10]。これらの問題は特にAAAタイトルのゲームソフトウェアのように厳しい最適化が要求されるケースで大きな悪影響をもたらす。
Mantleにおけるドローコールの改良により、CPUがボトルネックとなっているケースが緩和される[11][12][13]。Mantleの設計目標は、ゲームおよびアプリケーションがCPUとGPUを効果的に利用すること、APIによるコマンドの評価・検証 (Validation) のオーバーヘッドを減らし、マルチコアCPUでのスケーラビリティを向上させることでCPUのボトルネックを取り除くこと、より高速な描画ルーチンを提供すること、そしてDirect3DやOpenGLが有するハードウェア抽象化の一部を取り除くことで、より詳細なグラフィックスパイプラインの制御を可能にすることである[14][15]。
なお、Mantleはハードウェア制御のいくつかをAPIからアプリケーション側に移すことで、アプリケーション開発者による詳細かつ直接的なハードウェア制御を可能にする反面、Direct3D/OpenGLのように高度に抽象化されたAPIを利用する場合と比較して開発工数が増加する可能性が存在することから、ゲームアプリケーション開発者用というよりはむしろゲームエンジン(ライブラリ)開発者用との指摘もなされている[13]。
Mantleの登場後、ローレベルを指向した新世代のグラフィックスAPIとして、AppleのMetal、マイクロソフトのDirectX 12、そしてKhronosのVulkanが次々に発表された。DirectX 12に関してはMantleに触発されて開発が始まったことが示唆されており[16]、またVulkanに関してもやはりMantleを要素技術として取り込んだことが発表されており[17][18]、Mantleは新世代のローレベルAPIの先駆者となる役割を果たした。
CPUが制約要因になっているシナリオ
基本的な実装の背景として、MantleはCPUが制約要因となっているようなシナリオにおいてパフォーマンスを改善するために設計された。
GPUが制約要因になっているシナリオ
Mantleはまた、高解像度かつ「最高レベルの詳細」設定が使われるような状況を改善するために設計された。とはいえ、これらの設定はGPUの計算資源に負荷をかけるため、API層での改善は難しい。MantleはGPUバウンドなシナリオにおけるパフォーマンスを改善するために下記のような組み込み機能を提供するが、改善率はゲームエンジンがMantleの機能および最適化をどの程度利用しているかに大きく依存する。
ベンチマーク
サポート
Microsoft Windows用のドライバー「AMD Catalyst」でのみサポートされる。対象となるハードウェアは、GCN(Graphics Core Next)アーキテクチャを採用したAPUおよびグラフィックスカードに限定される。下記に一例を示す。
- グラフィックスカード
- Radeon HD 7000シリーズの一部
- Radeon HD 8000シリーズの一部
- Radeon R7 200シリーズの一部
- Radeon R9 200シリーズの一部
- Radeon R7 300シリーズ
- Radeon R9 300シリーズ
- APU
- Steamrollerベースの"Kaveri"
- Jaguarベースの"Kabini"および"Temash"
- Pumaベースの"Beema"および"Mullins"
関連項目
外部リンク
出典
Wikiwand - on
Seamless Wikipedia browsing. On steroids.