概要
Mantle の描画呼び出しの改善は、CPU がボトルネックになっているケースを軽減するのに役立ちます。Mantle の設計目標は、ゲームやアプリケーションがCPUとGPU をより効率的に利用できるようにすること、API 検証のオーバーヘッドを削減して複数の CPU コアでのスケーリングをより効果的にすることで CPU ボトルネックを解消すること、描画ルーチンを高速化すること、そして現在主流のグラフィックス API である OpenGL と Direct3D の両方に固有のハードウェア抽象化の特定の側面を排除することでグラフィックス パイプラインをより詳細に制御できるようにすることです。[ 8 ]
CPU負荷の高いシナリオ
Mantleは、基本的な実装において、CPUがボトルネックとなるシナリオでのパフォーマンスを向上させるように設計されています。
- APIコマンドの低オーバーヘッド検証と処理。[ 9 ] [ 10 ]
- 明示的なコマンドバッファ制御; [ 9 ]
- コマンドバッファを複数のCPUコアに再配置することで、ほぼ線形のパフォーマンススケーリングが実現します。[ 9 ]
- 実行時シェーダーコンパイルのオーバーヘッドが削減されました。[ 9 ]
- AMDは、MantleはCPUオーバーヘッドを削減することで、同等のAPIよりも1秒あたり最大9倍の描画呼び出しを生成できると主張しています。[ 11 ]
- 少なくとも8コアのマルチスレッド並列CPUレンダリングをサポート。[ 12 ]
GPUバウンドシナリオ
Mantle は、高解像度や「最大詳細」設定が使用されている状況を改善するようにも設計されていますが、これらの設定は GPU リソースに負荷をかけるため、API レベルで改善するのがより困難です。Mantle は GPU 依存のパフォーマンスを改善するための組み込み機能をいくつか提供していますが、これらの場合の改善は、Mantle の機能と最適化がゲーム エンジンによってどれだけうまく利用されているかに大きく依存します。これらの機能には、次のものがあります。[ 13 ] [ 14 ]
- コマンドバッファ送信量の削減
- リソースの圧縮、拡張、同期を明示的に制御する
- グラフィックスエンジンとは独立した、データアップロード用の非同期DMAキュー
- 計算ワークロードとグラフィックスワークロードの重複処理のための非同期計算キュー
- 柔軟なバッファ/イメージアクセスによるデータフォーマットの最適化
- MSAA/EQAA最適化のための高度なアンチエイリアシング機能[ 3 ] [ 9 ]
- ネイティブマルチGPUサポート[ 3 ]
その他の請求
- Direct3D 11 から Direct3D 12 への移植よりも Mantle から Direct3D 12 への移植の方が簡単である[ 22 ]
- GDC 14でOxide Gamesの従業員であるDan Bakerは、Mantleは既存のAPIの改修では対処できない根本的な開発上の課題に対処すると述べた。グラフィックスデバイスドライバの最適化は難しい。[ 23 ] [ 24 ] [ 25 ]
- 2013年11月のAMD開発者サミット(APU)で、DICEのFrostbiteエンジンのテクニカルディレクターであるヨハン・アンダーソンは、Mantleが開発を容易にし、開発者が革新を起こせるようにしたと称賛した。[ 26 ]
- マントルは10万を目標とする[ 27 ]
- モノリシックパイプライン[ 3 ]
- パイプラインの保存と読み込み[ 22 ]
- ハイブリッドリソースモデル
- 一般的なリソース
- リソース準備の管理
- CPU介入なしの動的フロー制御
- GPUを直接制御
- 実行時シェーダーコンパイルのオーバーヘッドを削減
- ハードウェアの制御性が向上する。[ 11 ]
- 「すべてのハードウェア機能はAPIを通じて公開されています。」[ 11 ]
- コマンドバッファへの送信回数の削減
- 柔軟なバッファ/イメージアクセスによるデータフォーマットの最適化
- リソースの圧縮、拡張、同期を明示的に制御する
- グラフィックスエンジンとは独立した、データアップロード用の非同期DMAキュー
- 計算ワークロードとグラフィックスワークロードの重複処理のための非同期計算キュー
- 新しいレンダリング技術
類似の技術
最近の OpenGL 4.4 の機能セットと、拡張機能としてのバインドレス テクスチャリングを組み合わせることで、ドライバのオーバーヘッドを大幅に削減することもできます。Khronos Group が「AZDO」(Approaching Zero Driver Overhead)と呼ぶこのアプローチは、Mantle で述べられているものに近い大幅なパフォーマンス向上を実現することが示されています。[ 42 ] [ 43 ] Nvidia は、ドライバのオーバーヘッドをさらに削減する多くの機能で OpenGL を拡張しました。[ 44 ]
DirectX 12の詳細が公開された後、AMDはDirectX 12を全面的にサポートする意向であることを表明したが、同時にMantleの方が「一部の処理はより高速になる」とも主張した。また、2つのAPIの設計思想に類似点があるため、MantleからDirectX 12へのゲームの移植は比較的容易であり[ 45 ]、DirectX 11から12への移植よりも容易であるとも主張した[ 22 ]。
最終的に、AMD は DirectX 12 と glNext (後に Vulkan と改名) の目的が似ているため、Mantle をゲーム API として廃止しました。[ 4 ] [ 5 ] AMD は Mantle API を Khronos グループに寄贈し、Khronos グループがそれを Vulkan API に発展させました。[ 46 ] [ 47 ] [ 48 ] [ 49 ] [ 50 ] [ 51 ]
かつてドライバがアプリケーションのために行っていた作業の多くは、現在ではゲームエンジンの責任となっている。…また、これは、依然として行わなければならないこの作業を、はるかに多くの情報を持つ者が行うことを意味する。エンジンは、何をどのように行うかを正確に把握しているため、ドライバにはできなかった設計上の決定を下すことができる。
録画およびFPSオーバーレイソフトウェア
PCゲーマーやプロゲーマーは従来、 FrapsやBandicamといったプログラムを使ってゲームプレイを録画したり、ゲームのFPSを測定したり、FPSオーバーレイを表示したりしていたが、Mantleは新しい技術であるため、従来の録画ソフトウェアのほとんどは、新しいAPIを使用する新しいタイトルでは動作しない。
PCゲームコミュニティおよびゲーム録画ソフトウェアメーカーのRaptrは、AMDと提携してクライアントを刷新し、PCゲーム分野におけるAMDのGaming Evolvedイニシアチブと連携して、 AMD Gaming Evolvedクライアントとしてブランド名を変更しました。この提携により、ゲーム中にクライアントをインストールして使用するプレイヤーは、ゲームやコンピュータハードウェアなどのデジタルアイテムに使えるポイントを獲得したり、友達とチャットしたり、ゲームライブラリを最適化したり、グラフィックカードドライバのアップデートを確認したり、Twitchにゲームをストリーミングしたり、内蔵のGVRを使用して独自のゲームプレイを録画したりできます。GVRは、NvidiaのGeForce ExperienceソフトウェアのShadowplayソフトウェアと同様の機能で、ユーザーがゲーム内でカスタムバッファ長を定義してボタンを押すだけで後からゲームを録画できるため、瞬間を逃すことなく、通常は録画のために高価なハードドライブのセットアップは必要ありません。2014年後半、AMDはMantleを使用してタイトルの録画とストリーミングをサポートするようにクライアントを更新しました。[ 52 ]クライアントへの最初のアップデート時点では、Gaming Evolved ソフトウェアは、Mantle 対応ゲームの録画とストリーミングを公式にサポートする唯一のソフトウェアでした。
Raptrの他に、Mantle APIベースのゲームをサポートする商用ゲーム録画ソフトウェアはD3DGear [ 53 ]のみでした。
関連項目
- Direct3D 12 – マイクロソフトの低レベルAPI
- Vulkan – Khronosの低オーバーヘッドAPIで、Mantleをベースに開発されました
- Glide – 現在は事業を停止した3dfx社が開発した、もう一つの低レベルAPI
- GNM – PlayStation 4の低レベルAPI
- GNMX – PlayStation 4のハイレベルAPI
- Metal – Apple iOSおよびmacOS向けの低レベルAPI
参考文献
- 1 2 Altavilla, Dave (2013-09-30). "AMDとDICEがRadeonグラフィックス向けコンソールスタイルのAPIを共同開発" . Forbes . 2014-07-14に取得.
- ↑ 「AMD Radeon R9およびR7シリーズグラフィックスカードがゲームのリアリズムの新時代を切り開く」。AMD 。2021年6月22日取得。
- 1 2 3 4 「Mantle ホワイトペーパー」(PDF) . AMD .
- 1 2スミス、ライアン (2015 年 3 月 2 日)。「AMD が Mantle の将来像を発表」。Anandtech.com。2015年 3 月 4 日のオリジナルからアーカイブ。2016年6 月 28 日取得。
- 1 2 「Mantleの未来の1つ:Vulkan | AMDブログ」。
- ↑ 「AMDの革新的なMantleグラフィックスAPI」 。 2017年10月4日取得。
- ↑ 「Mantleよ、さようなら…AMDはDirectX 12のAPIのインスピレーションに対するすべてのサポートを終了しました」。2019年5月14日。 2019年5月15日取得。
- ↑ 「AMDによるMantleベンチマークの一部」。AMD。2014年2月1日。
- 1 2 3 4 5 「Mantle 101」。AMD。2014年5月28日。 2014年5月30日にオリジナルからアーカイブされました。
- ↑ 「AMD Gaming」。2014年2月1日。
- 1 2 3 4 「AMD Livestream at GPU 14 Tech Days」 。2013年。2013年9月27日にオリジナルからアーカイブされました。
- ↑スミス、ライアン (2013 年 9月26 日)。 「AMD の Mantleを理解する: GCN 用の低レベルグラフィックス API」。anandtech.com。AnandTech。2013年10月 1 日取得。
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク) - ↑ 「次世代グラフィックスAPI」。Oxide Games。2014年5月21日。2016年3月4日のオリジナルからアーカイブ。 2014年7月18日取得。
- ↑ 「金属への競争」。ジョシュ・バルザック。2014年5月23日。
- ↑ 「Mantleのパフォーマンス」 . AMD. 2014-05-28.
- ↑ 「AMD Mantle API のパフォーマンス分析(Radeon R7 260X、R9 270X、R9 280X)」。2014年2月2日。
- ↑ 「トゥマックズ・グーグル」。 2014 年 2 月。
- ↑ 「AMD、DirectXよりもMantleを使用することで最大45%のパフォーマンス向上を実現したと主張| PCGamesN」。2014年1月6日。
- ↑ 「AMD Mantle搭載フラッグシップNitrousエンジン『Star Swarm Benchmark』がSteamでリリース」。2014年1月31日。
- ↑ 「2ページ目 - AMDのMantleのベンチマーク:DirectX 9以来のゲームにおける最大のイノベーション| ExtremeTech」
- ↑ 「AMDがMantleをリリース、パフォーマンス数値を公開」
- 1 2 3 「Mantle:低コストの未来の始まり」。AMD。2014年5月28日。
- ↑ 「効率的なエンジン設計と最新のAPIの組み合わせ」。2014年3月20日。
- ↑ 「ゲーム開発者の言葉で語るMantle」。AMD。2014年5月28日。
- ↑ 「マントルがゲームを変えた方法」(PDF)。2013年11月21日。2014年8月11日にオリジナル(PDF)からアーカイブ。 2014年7月18日取得。
- ↑ 「Mantle for Developers (Johan Andersson、DICE)」 2013-11-21.
- ↑ 「3Dグラフィックス革新の促進」 2013年11月21日
- ↑スミス、ライアン (2013 年 9 月 26 日)。「AMD の Mantle を理解する」。Anandtech.com。2016年6 月 28 日取得。
{{cite news}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク) - ↑ 「AMDはMantleツールを使ってLinuxとSteamボックスでのゲーム体験を向上させたいと考えている」。2014年6月18日。
- ↑ 「Linuxサポートは完全に除外されたわけではない」。Phoronix 。 2014年5月31日。
- ↑ "libcg on Github" . GitHub .
- ↑ "GRVK on GitHub" . GitHub .
- ↑ 「AMD Mantleのサポートは別のゲームエンジンにも適用される予定」。2022年1月14日。
- ↑ Parrish, Kevin (2013年9月25日). "AMDのMantle APIにより開発者はハードウェアを直接制御可能" . tomshardware.com . Tom's Hardware . 2013年10月1日取得。
- ↑ 「Star SwarmのSteamでのストレステスト」
- ↑ 「バトルフィールド4でマントルレンダラーが利用可能になりました」。
- ↑ 「マントルがシド・マイヤーのシヴィライゼーション:ビヨンド・アースで宇宙へ旅立つ」
- ↑ 「スナイパーエリート3がAMDのMantle APIを利用へ」。2013年11月21日。
- ↑ 「AMDの革新的なMantleグラフィックスAPIが、業界をリードするゲーム開発会社Cloud Imperium、Eidos-Montréal、Oxideに採用されました」。AMD。NYSE : AMD。2013年11月4日。 2014年2月22日のオリジナルからアーカイブ。 2013年11月5日取得。
- ↑ 「Star CitizenにMantleサポートが含まれる」。Transmission。Cloud Imperium Games。2013年11月5日。2013年11月6日閲覧。
- ↑ 「Mantleが15本のFrostbiteゲームに採用される。DICEはマルチベンダーサポートを要請 - The Tech Report」 2013年11月13日。
- ↑ 「OpenGL 効率性: AZDO」(PDF)。Khronos Group。2014年 3 月。2020年 10 月 7 日に取得。
- ↑ 「移植を超えて:最新のOpenGLがドライバのオーバーヘッドを大幅に削減する方法」。YouTube 。2014年2月11日。2020年10月7日閲覧。
- ↑ 「OpenGL NVIDIAコマンドリスト:ドライバのオーバーヘッドゼロに近づく」。2014年12月4日。 2020年10月7日取得。
- ↑ 「DirectX 12 の詳細」。The Tech Report。2014年3月30日。 2020年10月7日閲覧。
- ↑ 「VulkanとSPIRの詳細 - V:高性能グラフィックスの未来」(PDF)。Khronos Group。p. 10。2015年6月27日取得。AMD
に感謝します!
- ↑ Mah Ung, Gordon (2015年3月6日). 「MantleはVulkanだ:AMDの死んだグラフィックスAPIがOpenGLの後継として復活」 . PCWorld.
- ↑ 「AMD Gaming: Mantleの未来の1つ: Vulkan | AMD Blogs」 . Community.amd.com . 2015年3月5日取得.
- ↑ Hruska, Joel (2015年3月4日). 「まだ死んでいない:AMDのMantleが新しいVulkan APIとVRの取り組みを支えている」 . ExtremeTech . 2015年3月5日閲覧。
- ↑ 「AMDのMantleはVulkanで生き残り、次世代OpenGLの基盤を築く」。Wccftech.com。2014年6月20日。 2020年10月7日閲覧。
- ↑キルシュ、ネイサン (2015-03-03). 「AMD Mantle はもはや過去のものとなったのか? Vulcan API は OpenGL に Mantle テクノロジーを使用している」 Legit Reviews . 2020-10-07に閲覧。
- ↑ 「AMD Gaming EvolvedがMantleをサポート」。
- ↑ 「D3DGear Mantle レコーディング ソフトウェア」
外部リンク
- MantleプログラミングガイドおよびAPIリファレンス