開発者は語る: Wii U開発の舞台裏(4)Wii Uに取り組んでみて
テーマ:Wii,Wii Uこの作業を開始した直後、私たちは(必要最低限しかない)開発キットのドキュメントが説明していない、いくつかの問題に出くわしてしまった。そこで私たちは国内の任天堂サポートチームに質問を投げた。彼らはその答えを知らなかった。日本の開発者に確認するので、それまで待って欲しいとのことだった。そして私たちは待った。そしてさらに私たちは待った。
約一週間の待機の後、私たちはサポートチームから回答を受けた。彼らは日本からの回答をもらい、それをこちらにメールしたとのことだ。日本からの回答は数行の恐ろしくカタコトの英語で書かれており、こちらが聞いたことには何一つ答えていなかった。
そこで私たちはもう一度説明を求めたところ、回答が戻ってくるまでにまたしても一週間かそこらの時間がかかった。二回目の回答がなかなか返って来ないので、なぜ日本からの回答にそこまで時間がかかるのかと尋ねた。日本側はそれほど忙しいのか?と。地元のサポートチームはそうではないのだと説明した。問い合わせは全てまず日本語に翻訳する必要があり、翻訳された問い合わせが開発担当者に送られる。担当者の回答は次に英語に書き戻され、そしてこちらに戻ってくる。時差もあるし翻訳も必要だしで、回答が一週間ほどかかるということなのだ!
ターゲットとするフレームレートでゲームを走らせることは開発プロセスの一部だ。この文脈において、作業は標準的な手順に沿ったものであり、さほど興味深いものではない。ゲームを走らせ、コード(CPUのコードとGPUのコード)を最適化し、それでもまだ動作が重ければうまく動作するまでゲームの要素を削減するのだ。
CPUの最適化に関して言えば、そうだ、CPUが十分に強力ではないという理由で、私たちはいくつかの要素を切捨てる他なかった。私たちが当初から恐れていた通りだった。詳細に作りこんだゲームをHDで実行することは、CPUに大きな負荷をかける。私たちが望んだように実現することはできなかった。機能のいくつかを減らすのは全く簡単なことではあったが、全体としてゲームに影響が出てしまった。
Xbox 360やPS3に搭載されているPowerPCプロセッサ向けに最適化されたコードは、Wii UのCPUにいつもフィットするというわけにはいかなかった。Wii Uのチップは興味深い機能を備えており、CPUに性能以上の処理をさせることができるが、それを充分に活用することはできなかった。そうは言ってもいくつかのコードは大幅に改善することができ、他よりも低いクロックを緩和することができた。ロード・ヒット・ストアをなくすことによる4倍のブーストや、アウトオブオーダー実行を含めることによる高IPC(サイクルあたりの命令数)といったものだ。
GPU側では話は逆だった。Wii UのGPUは非常に高性能であることが分かったので、私たちは追加の「ポリッシュ」機能を追加した。GPUにそれだけの性能があったからだ。
コンピュートシェーダを通じてGPUを活用し(GPGPU)、CPUの負荷を分散しようということについての議論が行われている。これはまさに次世代ハードで普及するだろうと私も予期しているものだ。だが非常に限られた開発期間で、任天堂からのガイダンスもサンプルもなしで、GPGPUを試みるリスクは冒せなかった。もしも私たちがもっと大きな開発体制であったり、あるいはもっとも開発期間が長かったならば、これを試みたかもしれない。だが結果論になるが、GPUの性能を使い切る前に私たちができたであろうことについて言えば、私たちはそこまではできなかっただろうと思う。
Wii UのGPUはPS3やXbox 360よりも良い。だがPS4やXbox OneのGPUはさらにはるか彼方にあるのだ。
私はまた Wii UのDDR3メモリを活用すること、そしてそれがPS3やXbox 360に比べて帯域幅が不足していることを懸念している。私たちの場合、それは実際には問題にはならなかったが。GPUは( EDRAMを経由することで)渋滞を最低限にしデータを高速にフェッチすることができた。効率的にプリフェッチをすることも可能だったが、これはGPUを最高速で実行させることができるようにしてくれるものだ。
NS: eurogamer The Secret Developers: Wii U - the inside story
1 ■無題
CPUが低性能すぎるとGPUが多少高速でも全体としてはどうしようもないって事ですね