goodgames
17-01
最終更新:
goodgames
-
view
三人寄れば三つ巴
正しくは「三人寄れば文殊の知恵」です。
間違って覚えて受験に失敗しても責任は負いかねます。(笑)
間違って覚えて受験に失敗しても責任は負いかねます。(笑)
ここのところ赤丸急上昇中の話題がAMDの新Graphics API Mantle。
だいぶ前にソレ系のAPIが投入されるとの噂は何かで見たことはありましたが
「どう考えても流行らない」と思いそれきり忘れておりました。
「どう考えても流行らない」と思いそれきり忘れておりました。
そのAPIに名前に付けられた名前がMantleだと。
マントルは地殻の外殻だったかな?
すみません。地質学は全くのど素人です。
すみません。地質学は全くのど素人です。
さてこのMantleですが技術的には正しいと思います。
「思う」と控えめに表現する必要は無いでしょう。
これは正しい。
「思う」と控えめに表現する必要は無いでしょう。
これは正しい。
そしてAMDには十分に実現出来るだけの能力がある。
元々はATIですから。
元々はATIですから。
でも大人の世界で受け入れられるかどうかは全くの別問題。
なぜここで取り上げたのかは申し上げるまでも無く
Windows版Battlefield4に投入されることが発表されたから。
Windows版Battlefield4に投入されることが発表されたから。
個人的には「やめときな」と思いつつ忘却の彼方に追いやっていた話題でしたが、
9月末に開催されたAMD主催イベント GPU14にて
最新GPUの発表に併せてMantleの詳細仕様が公開されました。
肝心のモノは12月リリースと発表されていますが、今年の12月かどうかは確認していません。(笑)
9月末に開催されたAMD主催イベント GPU14にて
最新GPUの発表に併せてMantleの詳細仕様が公開されました。
肝心のモノは12月リリースと発表されていますが、今年の12月かどうかは確認していません。(笑)
その中でもわかりやすいのがこのページ(MANTLE IN FROSTBITE)です。
■いつも通りの超意訳(非重要項目は割愛)
1.Radeon GPUにてDirectX11の代わりに利用可能
2.きわめて低いCPU負荷で描画リソースをGPUへ転送可能
3.完璧な並列(マルチスレッド)処理により8CoreCPUの能力を全て利用可能
4.GPUとシステム(CPU/Memory/PCI-E)間のボトルネックを排除
5.GPUが搭載する全ての機能を利用可能
6.特定GPUに特化したチューニング(最適化)が可能
1.Radeon GPUにてDirectX11の代わりに利用可能
2.きわめて低いCPU負荷で描画リソースをGPUへ転送可能
3.完璧な並列(マルチスレッド)処理により8CoreCPUの能力を全て利用可能
4.GPUとシステム(CPU/Memory/PCI-E)間のボトルネックを排除
5.GPUが搭載する全ての機能を利用可能
6.特定GPUに特化したチューニング(最適化)が可能
同じサイトのもう一つのページ(MANTLE BENEFITS)からも一番上だけ訳してみます。
7.無駄なCPU負荷を抑えることにより、時間あたりの描画命令発行回数を9倍に高められる
7.の9倍については少々盛り過ぎな感はありますが全体として概ね事実でしょう。
しかし...
この一覧を見れば大人じゃなくても「おや?」と思うはず。
この一覧を見れば大人じゃなくても「おや?」と思うはず。
どこかのベータ版で多くの人が困らせれたあの問題が全て解決しそうです。
7.の9倍が3倍であったとしてもそれだけで全て解決。2倍でもほとんどの問題は解決。
なんか変ですね...
もう一つ、変なことを書いたような記憶が。
BF4ベータモジュールに2回目のリビジョンアップが行われた日の記事より引用。
・4Core及び6Core CPU環境に於ける性能向上のため様々な修正を行った ・2Core CPU環境に於いてロード終了後にクラッシュする不具合対策を行った このChangeLogを見ると強烈な違和感を覚えるのですが、 消去法で考えると開発機及びテスト機は全て8Coreのマシンなのでしょうか...
上記3.を再度読んで頂く必要は無いでしょう。
問題その1(たぶんMantle入ってます)
同じシステムズ・アーキテクトとしてまず間違いないと申し上げて良いでしょう。
既にBattlefield4クライアントモジュール内にはMantle相当のレイヤーが組み込まれています。
既にBattlefield4クライアントモジュール内にはMantle相当のレイヤーが組み込まれています。
理由は単純。
DirectX版とMantle版の2つを作るのは無駄だから。
DirectX版とMantle版の2つを作るのは無駄だから。
「12月リリースと書いてあるけど?」
「このPCにRadeon入ってないけど?」
「このPCにRadeon入ってないけど?」
はい。おっしゃる通りです。
それでも動くのがこの世界の面白いところ。
それでも動くのがこの世界の面白いところ。
スタブ/ドライバ方式などと呼ばれる開発進行手順に近いところがありますが、
Battlefield4のクライアントモジュール本体から見るとMantleに見える
「偽Mantle」が恐らく稼働しています。
Battlefield4のクライアントモジュール本体から見るとMantleに見える
「偽Mantle」が恐らく稼働しています。
偽Mantleの中身は単純でそのままDirectXを呼び出しているはずです。
AMDとしては本当は最初からMantleを投入したかったはず。
ところがMantleの開発が遅れたか、EAの意向によりBattlefield4のリリースが早められたか。
理由はともかくBattlefield4のリリース時点ではMantleが完成する見込みが無くなった。
ところがMantleの開発が遅れたか、EAの意向によりBattlefield4のリリースが早められたか。
理由はともかくBattlefield4のリリース時点ではMantleが完成する見込みが無くなった。
しかし、Battlefield4本体に対したった2ヶ月後に大規模な修正を行うことは回避したい。
何しろBattlefield4本体を開発しているのはAMDではなくEAですから。
何しろBattlefield4本体を開発しているのはAMDではなくEAですから。
しかし、スタブ/ドライバ方式により連携対象の相手側が存在しなくても、
偽物を用意することで片側だけ完成させることが可能。
偽物を用意することで片側だけ完成させることが可能。
つまり、この方式によるメリットは
Mantleが正式にリリースされてもBattlefield4本体を修正しなくて済むこと。
Mantleが正式にリリースされてもBattlefield4本体を修正しなくて済むこと。
本来ならBattlefield4から直接DirectXを呼び出せばよいところを、
余計な中間層を介してアクセスするため当然性能は劣化します。
余計な中間層を介してアクセスするため当然性能は劣化します。
ここは単なる予想でしかありませんが、
Mantle正式リリース後も偽Mantleは生き続けると思います。
Mantle正式リリース後も偽Mantleは生き続けると思います。
Battlefield4本体からDirectXを直接呼び出す方式と
Mantleを呼び出す方式の両方を実現するとなると
実装作業や試験工数が倍増します。
Mantleを呼び出す方式の両方を実現するとなると
実装作業や試験工数が倍増します。
そのためにもMantleを使えない環境では永久に偽Mantleが活躍すると考えられます。
もちろん設定画面には「Mantleを使う Yes/No」のような選択肢がありそうですが、
Noを選択しても偽Mantle経由でDirectXを呼び出す方式になりそうです。
Noを選択しても偽Mantle経由でDirectXを呼び出す方式になりそうです。
問題その2(さらにPCゲームは衰退します)
これは誰でも予想できるでしょう。
近未来にNVIDIAも独自APIで反撃に出ると考えて良いでしょう。
Mantleをネイティブサポートしたソフトウェアは性能面で優位に立てることは確実です。
Mantleをネイティブサポートしたソフトウェアは性能面で優位に立てることは確実です。
当然NVIDIAとしても指を咥えてみているわけにはいかない。
一部報道でNVIDIAは独自APIの開発を考えていないとの情報がありましたが、
どう考えてもそんなことはない。
一部報道でNVIDIAは独自APIの開発を考えていないとの情報がありましたが、
どう考えてもそんなことはない。
もしかすると既に水面下で開発が始まっているかもしれません。
(ちなみにNVAPIは全くの別物です)
(ちなみにNVAPIは全くの別物です)
何が問題なのか?
デベロッパーにしたら堪ったもんじゃありません。
デベロッパーにしたら堪ったもんじゃありません。
今まではDirectXだけで良かったところ、
Mantle対応が必要になり、NVIDIAにも対応する必要がある。
Mantle対応が必要になり、NVIDIAにも対応する必要がある。
描画処理部については工数が単純計算で3倍に跳ね上がります。
もちろん試験工数も3倍。サポートは3倍とはならなくても相応のコスト増が発生します。
もちろん試験工数も3倍。サポートは3倍とはならなくても相応のコスト増が発生します。
では、今まで通りDirectXだけだったらどうか?
他のソフトウェアと比較して性能面で劣ることから様々な面で厳しい状況に陥るでしょう。
他のソフトウェアと比較して性能面で劣ることから様々な面で厳しい状況に陥るでしょう。
DirectX、Mantle、きっと出てくるNVIDIAの何か。
ほら三つ巴。
ほら三つ巴。
一見、ユーザから見たらうれしい争いに感じるかもしれませんが、
とんでも無い大間違いです。
とんでも無い大間違いです。
{こんな面倒なPC用ゲームなんか誰が作るか。
と、多くのデベロッパーは思うに違いありません。
何しろ家庭用ゲーム機なら機種が決まればハードウェアは全て同じものです。
もちろんOSなどのソフトウェア層も完全に同じもの。
何しろ家庭用ゲーム機なら機種が決まればハードウェアは全て同じものです。
もちろんOSなどのソフトウェア層も完全に同じもの。
それとは異なりPCは一台一台仕様が異なるのが良いところでもありますが、
デベロッパーとしてはそれだけでも大変なのにさらに描画用APIが3種類にもなる。
デベロッパーとしてはそれだけでも大変なのにさらに描画用APIが3種類にもなる。
提供者側から見たコストパフォーマンスは圧倒的に家庭用ゲーム機に軍配が上がります。
儲からないものを相手にし続ける企業はいずれ終焉を迎えます。
獲れなかった狸
しかし、AMDの皮算用通りに事は進んでいないようです。
Mantleの仕様を調べるために海外のサイトを色々と眺めていたところ、
目的とは異なりますが3つほど面白い情報を見つけました。
目的とは異なりますが3つほど面白い情報を見つけました。
1.XBOX Oneの描画用APIはMantleと非互換
2.Playstation4も同上
3.AMDはBattlefield4のMantle対応のために約8億円をEAに支払った
2.Playstation4も同上
3.AMDはBattlefield4のMantle対応のために約8億円をEAに支払った
googleあたりで調べて頂くといくらでもヒットするでしょう。
1.と2.は皆さん御存知の通り、いわゆる次世代家庭用ゲーム機のハードウェアは
MS/SonyどちらもAMDが提供することになったお話。
MS/SonyどちらもAMDが提供することになったお話。
しかし、そこにAMD謹製API Mantleは搭載されないとのこと。
前述の通り、家庭用ゲーム機は同じ機種ならハードウェアもOSも1種類ですから、
最初から限界までチューニングしたアプリケーションを投入出来ます。
そのためMantleのようなソフトウェア層はそもそも不要です。
最初から限界までチューニングしたアプリケーションを投入出来ます。
そのためMantleのようなソフトウェア層はそもそも不要です。
もし、家庭用ゲーム機をMantle一色に出来れば、PC用ゲームも一気にMantleへシフトしたでしょう。
その後は多くのPCにRadeonが搭載される皮算用だったと考えられます。
その後は多くのPCにRadeonが搭載される皮算用だったと考えられます。
結果的に8億円支払ってBattlefield4(正しくはFrostbite3)にMantleを投入するだけに終わる公算が高いと言えます。
何もしなてくも漁夫の利
3DAPIは三つ巴の様相を呈してきましたが、常識的に考えると勝者は第四極たるOpenGLでしょう。
知られた中では最も古くから存在する3DAPIであり、
現代に大ブレイクするとは誰も予想しなかったでしょうが
いまや圧倒的なシェアを獲得しています。
現代に大ブレイクするとは誰も予想しなかったでしょうが
いまや圧倒的なシェアを獲得しています。
みなさんの手元にあるiOSやAndroidに搭載され世界中で数十億のデバイス上で稼働しています。
文字通りOpenであるOpenGLが普及しても原則的には誰も儲かりません。
自分だけ利益を独占しようとしても上手くいかないように出来ているのが大人の世界です。
自分だけ利益を独占しようとしても上手くいかないように出来ているのが大人の世界です。
本当に偽Mantleは入っているのか
調べたいところですがEULAの問題がありますので...
EULAに何と書いてあるか調べようと思いましたが
ベータテストが終わって条項が確認出来なくなりました。(苦笑)
EULAに何と書いてあるか調べようと思いましたが
ベータテストが終わって条項が確認出来なくなりました。(苦笑)
仕方ないのでこのぐらいは許されると思いましょう。
この先は皆さんの御判断で御自由に。
残念なことになるであろうMantleと運命を共にすることになってしまったBattlefield4(Frostbite3)ですが、
せめて普通のCPUで満足に動作するレベルに「偽Mantle」を仕上げて欲しいところです。
本当に「偽」が存在するかはあくまでも不明ですが...
せめて普通のCPUで満足に動作するレベルに「偽Mantle」を仕上げて欲しいところです。
本当に「偽」が存在するかはあくまでも不明ですが...
( - )
添付ファイル