プログラマブルシェーダ(この概念についての詳細は後述)には「プログラマブル頂点シェーダ」と「プログラマブルピクセルシェーダ」の2つがあり、頂点単位の様々な陰影処理をするのが前者、ピクセル単位の様々な陰影処理をするのが後者となる。
プログラマブル頂点シェーダはCPUでのエミュレーションが容易であり、PS3の場合、そのCPUであるCellプロセッサが、複数の構造改変可能でプログラマブルなSIMD演算器を備えているため、これを活用してプログラマブル頂点シェーダとするアイディアも十分考えられる。こうすることでGPUコアのトランジスタ量を減らし、コストや発熱の低減に結びつけるわけだ。
しかし、NVIDIAは以前「将来のGPU」で、現在のような頂点シェーダ6基でピクセルシェーダ16基というような固定的なパイプライン構造をやめるという構想を話したことがある。これが採用されたとすれば、GPUコアにある潤沢な個数の演算リソースをドンと内部に抱え、これを適宜、プログラマブル頂点シェーダとプログラマブルピクセルシェーダとして活用して、可変構造なグラフィックスパイプラインを形成するかもしれない。
この「複数の演算リソースをマネージメントする」というアイデアの原型はGeForceFXで採用されており、実際このアイデアが話されたのは、GeForceFX発表直後であった。もっとも、今や失敗作のレッテルを貼られたGeForceFXの発展系のアーキテクチャをNV50で採用しているかは微妙な気もする。
搭載ビデオメモリが少なすぎたことが幾度となく指摘されたPS2だが、PS3ではどうだろうか。
これは製造コストにも響いてくるので予想が難しいが、光学ドライブにBlu-Rayを採用することが確定している今、ハイビジョン(HD)映像の出力を前提としたものになるはずだ。そうなれば、表示用のプライマリフレームバッファとして1920×1080ピクセルや1280×720ピクセルといった解像度を難なく取り扱えるだけのメモリ量は最低でも絶対に必要になる。
そしてプログラマブルシェーダベースのグラフィックス処理系では、リアルタイムにシーンをテクスチャにレンダリングしてこれをさらに利用したり、あるいはテクスチャ化したベクトルデータを陰影処理に用いたりするアイデアが当たり前になるので、PS2の時とは比べものにならないくらいの大量のビデオメモリを一度に利用できる環境が必要になる。
具体的には、どのくらい必要になるのか。
例えばゲーム画面のレンダリング解像度までもがHDクラスで行われるとすれば、それはほとんど解像度的にはPCゲームと変わらない。となれば、最近の最先端PC-3Dゲームが軒並み64Mバイト以上を要求し、場合によっては128Mバイトまでも活用したりするケースがあるとすれば、PS3でも64〜128Mバイト(できれば256Mバイト)くらいの容量が自由にならないとGPUのポテンシャルが活かされにくことになる。
とはいえ、最先端の3Dグラフィックスを使わないゲームタイトルでは、そうした固定の大容量ローカルビデオメモリのアーキテクチャは無駄であるわけで、ローカルビデオメモリとして大容量を持たず、Xbox1のようにメインメモリからシェアするUMA的なソリューションが採用される可能性もあるだろう。なお、一部で既に報道されているようにPS3ではメモリとしてRambusのXDR DRAMが採用されるといわれている。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR