Mark Cerny氏: 次世代ハードの処理ボトルネックと、PS4の取った戦略 | みらいマニアックス !
2013-04-29 10:53:39

Mark Cerny氏: 次世代ハードの処理ボトルネックと、PS4の取った戦略

テーマ:PS3,PS4,Orbis
PS4のリードシステムアーキテクト、Mark Cerny氏が、その性能にも関わらず、PS4が直面しうるボトルネックについて語った。もちろん彼のチームは、デベロッパがそうした点を全て回避する方法を既に考えている。

「グラフィックスで開発者がぶつかる最初のボトルネックはメモリ帯域幅です。オブジェクトごとに10かそれ以上のテクスチャを用いることが次世代では標準になることを考えると、直ぐにこのボトルネックにぶつかります。レンダリングにおけるフェーズの多くはメモリに依存しているため、ビットあたりのテクセルのテクスチャを下げようとすること以上に、開発者ができることはあまり多くありません。」

「このボトルネックに対する私たちの戦略はシンプルです。システムメモリにGDDR5を使用し、そうすることで広い帯域幅を持つようにするのです。」

では、メモリがボトルネックにならなければ?

「メモリがボトルネックにならないとすれば(それは実際に可能でしょうが)、表現しようするオブジェクトのメッシュが高密度である場合には、頂点(数)がボトルネックになります。その場合、モデリングを行うアーティストにもっと大きな(ポリゴンの面としての)三角形を使うように頼むことはできるでしょうが、実際問題としては、そうすることは難しいでしょう。プレイヤーが画面で見る上で、一つ一つの三角形は1ピクセル程度の大きさしかないということがごく普通にあるからです。その場合には、そうです、頂点ボトルネックが大きくなる可能性があります。」

「頂点ボトルネックを軽減するために開発した技術は幅広く、様々なものがありますが、この場合にはハードウェアの拡張機能になります。これらの拡張機能の中で最も興味深いのものは、グラフィックスのためのフロントエンドの処理に使用することができるというものです。」

Cerny氏はハードウェアの拡張機能について、こう説明している。
「(ハードウェアの拡張機能とは)ハードウェア、GPUの内部ファームウェア、およびコンパイラ技術をミックスしたものです。頂点シェーダを取る際には、コンピュートシェーダとして一回、バーテックス(頂点)シェーダとして一回、合わせて二回のコンパイルが必要です。コンピュートシェーダは三角形をふるいにかけ、これは元のバーテックスシェーダから位置計算をまず行い、その三角形がバックフェース(裏側に隠れている)しているかとか、そういったことを計算します。」

「そしてコンピュートシェーディングでは、次の処理で使うバーテックスシェーダの三角形の縮小セットを計算しながら生成していきます。このコンピュートシェーダとバーテックスシェーダは、非常に、非常にしっかりとハードウェア内部で連動しています。これは実装上では、難しいソリューションではありません。

「グラフィックスプログラマの観点からは、この技術を使用するにはコンパイラでいくつかのフラグを設定し、グラフィックスAPIで異なるモードを使うことになります。ですからこの技術は、午後にでもちょっと試してみて、パフォーマンスが実際に上がるかどうか確認できるような種類のものなのです。

皆さん、お分かりになっただろうか?

このホリデーシーズンのPS4リリースにあたり、PS3のような大失敗を避ける上で、こういったこと全てを早くから公開していくのは適切なやりかただと思われる。しかしながらCerny氏と彼のチームはそういった失敗を避けるため、既に熱心な取り組みを行ってきた。彼らは、PS4に最適化されたバージョンのパフォーマンス解析ツール「Razor」と、サンプルコードをデベロッパに配布すると約束した。

Cerny氏はまた、現実のワールド・コードは後日配布されるとも語った。
「もし誰かが何か面白いコードを書いたとして、他のPSの開発者が利用できるよう、ソースコードを公開しても構わないと思っている場合、それは非常に大きな価値を持つでしょう。


NS: Gamingbolt  Mark Cerny Comments On PS4 Bottlenecks And How Devs Can Overcome

みらいさんをフォロー

ブログの更新情報が受け取れて、アクセスが簡単になります

コメント

[コメントする]

Ameba人気のブログ

Amebaトピックス