次世代ゲームコンソールについて云々

またまたゲハっぽい話題を。

西川善司の3DGE外伝:GIJE技術担当と次世代ゲームについてざっくばらんにトークしてみる」
https://jp.gamesindustry.biz/article/2009/20090701/

西川善司さんの記事が出てたので、記事に対する感想をざっくばらんに。

Series S の詳細スペックが出てから、特にやはりみなさん GPU の性能差について喧々囂々たる反応が見られたわけですが(笑)、私もCPUについてはあまり着目してませんでした。今の世代なりにだいぶ早くなったなー、という程度で。
しかし、記事中の下記にあるように、

PS5:32 FLOPS×8コア×3.5GHz=896GFLOPS
XSX:32 FLOPS×8コア×3.8GHz=972.8GFLOPS
となる。ちなみに現行機PS4Xbox OneのCPUの理論性能値は,
PS4:8 FLOPS×8コア×1.6GHz=102.4 GFLOPS
Xbox One:8 FLOPS×8コア×1.75GHz=112GFLOPS
だ。

改めて比較してみると、わずか0.3GHzの違いとは言え、76.8GFLOPSの差があるんですね。
これをPS4の102.4GFLOPSを基準にすれば、PS4の0.75台の差があるということで、そう考えると小さくもないかなという印象でした。

しかも、PS5 についてはCPU3.5GHzというのはこれ自体今のCPUとして特段高クロックではないですが、GPU側と熱設計枠を共有して片方が高負荷の場合はもう片方は自動的にクロックが下がる SmartShift という仕組みなわけで、現時点の 7nm プロセスのGPUとしてはだいぶ高い boost clock 2.23GHz で動作するタイミングでは CPU 側クロックが落ちる可能性もあるのではないかと。(というか落とす必要がないならわざわざ SmartShift しないで両方 boost ではなく定格クロックにすればいいわけで)
(7nm でなく 7nm enhanced だとしてもそこは同じ)

それから、メモリについては私もちょっと気になっていたんですが、

https://news.microsoft.com/ja-jp/2020/09/11/200911-introducing-xbox-series-s/

に、

AMD の RDNA 2 グラフィックス アーキテクチャを採用することで得られた高効率な処理性能に加え、Xbox Velocity Architecture によるバーチャル メモリ乗算器を活用することで、Xbox Series S は単純なスペックを大幅に超えたパフォーマンスや体験を皆さんへお届けします。

という記述があるんですね。(原文では "With the increased efficiency we get from the next generation AMD RDNA 2 graphics architecture combined with the virtual memory multipliers enabled through the Xbox Velocity Architecture, Xbox Series S will deliver performance and experiences well beyond the raw specs." )

16GBでもちょっと心もとない中、アセットはFullHD相当でかなりメモリ消費量を抑えるとしても、10GBはやっぱりちょっと足りないのでは、という印象はあったのですが、

それと,今回はPS5もXSXも,SSDのための専用バスシステムを持っていて,そのSSDへのアクセスシステムが進化していますよね。PS5のアーキテクトのMark Cerny氏も「PS5のSSDはRAM的に使える」みたいなことを力説していましたから,RAMはこのくらいで手を打とうということなんでしょう

っていう事なんでしょうか、やはり。
現行世代では基本的に「今この瞬間には必要でなくても近々必要になるアセット」はすべてメモリ上に載せておく必要があり、また HDD のランダムアクセス性能のため、同じオブジェクトでもシーン内に必要な分データをコピーして置いておく、みたいな作りが一般的でした。
これが、(一番遅い Series S だとして) 224GB/s のメモリアクセスに比べたら全然遅い圧縮4.8GB/s の Storage I/O でも、現行世代の HDD への I/O よりは40倍くらいは早いんで、メモリに乗りきらない分はSSDを「仮想メモリ」的に取り扱い、必要なデータを必要な瞬間に、かつ SSD のランダムアクセス性能を生かして、事前複製など無しにロードするという事であれば、Series S の10GBでも何とかなかるのかもしれません。(仮想メモリへのアクセス依存度が高くなれば、X に比べたらフレームレートが少し落ちたりするでしょうが)

https://www.eurogamer.net/articles/digitalfoundry-2020-xbox-series-x-silicon-hot-chips-analysis

DF の Hot Chip のレポートを読んでも、メモリのコスト低下は以前は年30%くらいで推移してたのが、今は5%も落ちないので、Xbo360 の 512MB メモリが Xbox One で 8GB に増えたみたいなお大尽は、もうできないと。
そんかし、テクスチャは既に4K解像度の時代になってるが、サンプラーフィードバックにて本当に必要な Mip レベルのものだけロードするようにすれば、メモリが2.5倍になったような効果があると。
そして、HDD ではなく SSD を採用することで初期にはコスト高になりますが、NAND flash は年23%くらい低コストになってるんで、長い目で見ればコストカットになると。
これらが Xbox Velocity Architecture や DirectStorage の前提であり考え方なのであると。

また、MS はこの辺を DirectX12Uの仕様として取り込んで、PC 側のアーキテクチャが置いてきぼりにならないようにしてると。
(ちょっと飛びますが、西川善司さんの記事で、「圧縮展開DMA転送付きSSDパイプライン」機能が,結局のところ「業界全体の取り組み」としている部分ですね)

※Series S のメモリが10GBという点を指して、10GBの制約に収まるようにアセットを用意しないといけないから、16GB積んでる X や PS5 はそれに足を引っ張られるんだ!みたいなアホな話が一部界隈で騒がれていましたが、
https://news.microsoft.com/ja-jp/2020/09/11/200911-introducing-xbox-series-s/
の解説にあるように

次世代に向けて開発されているゲームタイトルは、Xbox Series X と Xbox Series S のどちらに向けても最適化される予定です。

CPU や I/O 性能において、Xbox Series S は Xbox Series X と同等の性能が実現されており、抑えられた解像度でレンダリングを行いながらも、素晴らしいゲームをより簡単に Xbox Series X と Xbox Series S 向けに送り出せるように配慮してあります。

Smart Delivery に対応したタイトルは皆さんがプレイしているデバイスを認識し、それが Xbox Series X、Xbox Series S、Xbox One のどれであっても、対象のコンソールに最適化されたバージョンが用意され、タイトルの購入を 1 回で済ませられるようになっています。

Xbox Series X と Xbox Series S は同じ開発環境とツールや機能性があり、開発者はより容易に、複数の次世代コンソール機の性能に沿う形でコンテンツの開発とリリースを行えるようになります。

とちゃんとスケールするように考慮されており開発環境でもサポートされていることが明記されていますし、サンプラーフィードバックとかがまさにこの辺の差異を吸収するための仕組みですし、どうしても10GBに収まらなければfpsは落ちるかもしれませんがSSD仮想メモリ的に使えるし、SSDのランダムアクセス性を前提にアセットを調整すれば、これまでみたいにシーケンシャルリードのためにデータを無駄に複製したりしなくて済むので、アセットのサイズはむしろ小さくなる可能性すらありますから、仕組みをちゃんと理解していればそんな心配をする必要はほとんどないということが理解できると思います。

あとDFの記事ではクイックレジュームについても触れられていますが、Xbox One X タイトルで実行時の最大メモリ使用量は9GB、SSDに保存してあるこのイメージのレジューム復帰に6.5秒とのことでした。早い!

戻って、メモリシステム詳細の余談のとこで、16ビット×20チャンネルで320ビット幅と書かれてたので、560GB/s の帯域幅から逆算すると、QDR のメモリクロック3.5GHzだと思われます。
とすれば Series S のメモリ構成は、同じ1バンク16ビットとすれば 8GB ぶんは8チャンネルの128ビット幅で 224GB/s、2GBぶんは2チャンネルの32ビット幅で56GB/sでしょうか。
(帯域幅はさておきレイテンシまで異なると色々大変そうなので、クロックとメモリモジュールは同じで、チャンネル数で調整ってのはそんなに外れてないと思います)

続いて、GPU のお話ですが、VRS については、これまでの可変解像度をさらに進めて、全画面一律的に解像度を落とす、というのを、イメージ的には「描画されるものの視覚的重要度に応じて、部分的に解像度を落とす」という処理なので、記事にあるように、Direct X の機能に組み込まれる前提で、ドローコールごとの Tier 1 の処理は結構使われていくのではないかと思います。
プリミティブ単位 or タイル単位となる Tier 2 は使いどころが難しそうですが、タイル単位については、ごく単純に、レースゲームや FPS 等で基本的に注視点が画面真ん中になる場合、画面外周部は解像度落としてもそんな気づかないよね、というシナリオでは使えそうですよね。(あとは特にこれは VR について有効)
シェーダ負荷の方がドローコールよりボトルネックになってる場合で、VRS を使うと30%から場合によっては50%くらいフレームレートが改善したという例もあるようです。

レイトレーシングについては、記事中にあるように、正直実行性能がまだ不明なので何とも言えないけど、基本的にはこれまでのシェーダ描画を基本にしつつ鏡面反射や屈折表現のみをレイトレースで行うハイブリッドレンダリングなのは間違いないところだと思われるので (GeForce RTX 2080 でさえフルレイトレースする性能は持ってない)、RDNA2.0 でのレイトレース性能が Turing の何倍もありますっていう事が起きない限り、やはり部分的な鏡面反射や屈折表現の「演出」に使われるに留まるだろうということは想像に難くありません。
あとはRTハードウェアを活用した大域照明のリアルタイム演算。(これは Halo 5 が SLIPSPACE ENGINE で目指している、事前計算の大域照明やベイキングを排した完全リアルタイムのライティングシステムにも密接に関わってくるはずです)

で、PS5 の GT7 のデモを見ても、パドックに格納されるシーンのこれでもかの鏡面反射は、DF の見立てによると鏡面反射部分はゲーム全体の4K描画に対して1/4解像度の1080pレンダリングになっているようなので、XSX にしてもまともに4Kでレイトレース描画は厳しかろうと思います。
https://www.youtube.com/watch?v=Azl772uylh4

またそうなってくると Series S ではさらに解像度を落として鏡面反射描画を行わざるを得ない (レイアクセラレータはCUごとに1つあり、X の52CUに対し20CUでダウンクロックもされてるので、レイトレース性能も1/3) ので、さすがに 540p とかまで行くと (1ピクセルあたりの視覚への寄与が大きくなるぶん) かなりアラが目立ちそうですし、BVH や KD-Tree と言ったレイトレ用の空間構造データを持つためにさらにメモリも必要になるので、タイトルによっては、いっそのことなし、とされる可能性は否定できません。
(※HWとしては持ってるので、Series S ではレイトレースは一切サポートしないって意味ではもちろんないです、念のため。いまのスクリーンスペースリフレクションがレイトレースリフレクションになるくらいは普通にできると思います)

この辺はデベロッパの腕の見せ所となりそうですが、PCとのマルチ展開を考えると RTX 以上が必要な表現はどちらにせよ今しばらくは「オプショナル」な扱いにとどまるものと思われます。
つまり、レイトレの在り無しでゲーム内容に差が出るようにはしないだろうと。(例えば FPS で遮蔽物に隠れてる敵がその後ろのガラスとか水たまりに反射して見える、とか)

個人的には一刻も早く Minecraft RTX の Xbox Series X 版が見たいですね。Series X 上で、1080p で 30~60fps くらいで動作しているそうです。

Unreal Engine 5 の解説についてはだいぶ興味深いですね。
マイクロポリゴン (1ポリゴンが1ピクセル以下) と言われるとそれって映画のレンダリングじゃんと思ってしまうんですが、マイクロポリゴンで何が言いかというと↓この記事にあるように
https://www.4gamer.net/games/999/G999902/20130824013/
「現実的なメッシュで複雑なアニメーションを作って」
「クロースシミュレーションとかソフトボディシミュレーションとかもがっつりかけて」
が現実的な作業時間で行えて、それでいて
レンダリングの瞬間にマイクロポリゴンまでテッセレーションするので見た目も素晴らしくなる」
ということのはずなので、最初からマイクロポリゴン化したデータをSSDからストリーミングで読み込んでレンダリングする、という手法に、どの程度のアドバンテージがあるのかは微妙に思いました。
記事中にあるように、ボーン変形とかさせるには頂点数が膨大すぎて実時間で終わらないでしょうし、物理シミュレーションにも向かなさそうです。
指摘の通り、「静的な背景オブジェクト」や「移動と回転くらいのオブジェクト」あたりに用途は限定されそうです。
実際、マイクロポリゴンレベルのメッシュから作った高精細なノーマルマップがあれば、それから AO を計算することもできるはずですし、ハイトマップにしてレンダリング時にテッセレーションかけるのと比べてどういうメリット・デメリットがあるんでしょうね。

なお、Nantie 自体は、DX12U に対応していないGPUでもソフトウェアラスタライザとして (GPGPU で) 動作しますが、PS5 の場合は Primitive Shader を使ったハードウェア実装の方が早かったのでそうなっているということです。
https://www.eurogamer.net/articles/digitalfoundry-2020-unreal-engine-5-playstation-5-tech-demo-analysis
キモは「LoDなしのマイクロポリゴンデータから早期カリングで描画に必要なものだけに超ガッツリ落とす」ところだと思われ、それをソフトウェアラスタライザで実現しているとあります。
メッシュシェーダも「タスクシェーダ (Amplification シェーダ) でのLoD管理・LoDオブジェクト生成、Meshlet単位でのカリング」と「メッシュシェーダーによるMesh単位のカリング」なので、大枠、似たような機能ではありますから、XSX の GPU でもメッシュシェーダによるハードウェア実装が出来ないってことはなさそうに思います。

テッセレーションだと分割後の形状が完全コントローラブルとは言いにくいので、予期せぬ形状になったりシャドウマップでアーティファクトが発生してしまう可能性がありますが、Nantie ではその辺の問題は起きにくいですかね。

Lumen については SLIPSPACE ENGINE などと方向性は同じで、事前計算なしの大域照明を目指すもので、これについては明確にメリットがあると思うので、実際のゲームへの組み込みが楽しみです。

音については、Series X|S では「Project Acoustic」技術で3D空間での反響を含む音の伝播をシミュレートし、それを「Dolby Atmos」で360度定位させて、ホームシアターであれば7~34(!!)チャンネルのサラウンドに落とし込み、ヘッドフォンであればHRTFで2chに落とし込む、という流れですかね。
https://www.dolby.com/gaming/

記事中ではランタイム処理はCPU処理だろうとありましたが、Series X では音声処理用に専用のチップを載せてるという話があります。
https://twitter.com/JamesStanard/status/1241113225757724672
https://news.xbox.com/en-us/2020/03/16/xbox-series-x-glossary/

Project Acoustics – Incubated over a decade by Microsoft Research, Project Acoustics accurately models sound propagation physics in mixed reality and games, employed by many AAA experiences today. It is unique in simulating wave effects like diffraction in complex scene geometries without straining CPU, enabling a much more immersive and lifelike auditory experience. Plug-in support for both the Unity and Unreal game engines empower the sound designer with expressive controls to mold reality. Developers will be able to easily leverage Project Acoustics with Xbox Series X through the addition of a new custom audio hardware block.


10年以上にわたってマイクロソフトのリサーチによってインキュベートされたProject Acousticsは、今日の多くのAAA体験に採用されているミックスリアリティやゲームにおける音の伝搬物理学を正確にモデル化しています。複雑なシーン形状での回折などの波動効果をCPUに負担をかけることなくシミュレートすることができ、より没入感のあるリアルな聴覚体験を可能にします。UnityとUnrealの両方のゲームエンジンへのプラグインをサポートしているため、サウンドデザイナーは表現力豊かなコントロールでリアリティを作り上げることができます。開発者は、新しく追加されたカスタムオーディオハードウェアブロックを通じて、XboxシリーズX で Project Acoustics を簡単に活用することができます。

そいで最後、西川善司さんが、PS5 Digital Edition は単なるドライブレス版ではなく、ソニー版の GamePass のようなサブスクサービスと合わせて提供するのではないか、と予想しているところは少々驚きました。
僕はそこからは一歩引いて、Series S に単なるドライブレス版で価格的に対抗するのは無理なので、PS Plus で「毎月いくらいくら払う」というチャンネルはあるから、携帯の割賦払いのようにあるいは Xbox All Access のように、24回払いとかで買える施策を出してきそうだな、と妄想していたので。

PS Now については一部のPS4タイトルはストリーミングではなくダウンロードして遊べるようにはなってますが、土台がやはり「ストリーミングサービス」であり(&どっちかというとPS3以前の後方互換の代用の印象が強い)、GamePass のようにファーストパーティータイトルやインディータイトルがリリース日初日から(なんだったらアーリーアクセスまである)遊べるというサービスではないため、もし、PS陣営が GamePass のようなサブスクリプションサービスを準備しているとすれば、個人的にもめっちゃ大歓迎です。

と、ほんとにつらつらと書いていたら滅茶苦茶に長くなってしまいました。

かなり乱暴にまとめると、PS5 はストレージ速度で少しアドバンテージ、Xbox Series X は CPU/GPU 性能的に少しアドバンテージがあるけど、双方目指している姿はだいたい同じ!
Xbox Series S と Xbox Series X は、基本的にはちゃんとスケールする!
ハードウェアだけじゃなく、サービスの部分でも GamePass みたいなサブスクが PS 陣営でも始まるといいな!!
といった感じです。

とりあえず、いろんな意味で17日の映像イベントが楽しみですね! (Xbox 側のエジンバラについても水曜に何かあるっぽかったし)