テクスチャユニットを倍化したRadeon HD 58x0、高負荷時のテクスチャ性能低減を改善したGeForce GTX 4x0

テクスチャユニットは、両者ともにDirectX 11の要求仕様を満たすようアップデートが行われている。具体的には、

(1) 最大テクスチャ解像度を16384×16384テクセルまで引き上げ
(2) 32bitおよび64bitのHDRテクスチャ圧縮(BC6Hモード)への対応
(3) 高品位LDRテクスチャ圧縮(BC7モード)への対応
(4) Four-offset Gather4(4オフセットGather4)への対応

などへの対応となる(BCはBlock Compressionの略)。

BC6はHDRテクスチャのための圧縮手法。16ビットRGBを1/6に高品位圧縮する

BC3は従来のDXT5相当。BC7はLDRテクスチャの新手法。高品位でありながらRGBで1/3、αRGBで1/4の固定圧縮率を実現

(2)は、開発者待望の機能の1つだ。これまでRGB各8ビット(LDR)を超えるハイダイナミックレンジフォーマットのテクスチャ圧縮の標準メソッドがなく、既存のLDRテクスチャ圧縮用技術であるS3TC(DXTC)を無理矢理駆使したり、負荷を承知で独自のHDRテクスチャ圧縮をシェーダで実現したりしていたのが、今後はハードウェアサポート付きでHDRテクスチャの圧縮/展開を取り扱えるようになる。

(3)は、既存のS3TCに変わる次世代のLDRテクスチャ圧縮用技術で、S3TCと同じ非可逆圧縮手法ながら品質劣化が少ないという特長を持つ。

(4)は与えられたテクスチャ座標に対してオフセット値 s,t=-64~+63 を与えた任意の4箇所から、任意の要素α/R/G/B を読み出せる機能だ。言い換えると基準テクスチャ座標から128×128テクセル範囲にある、任意の4テクセルの任意の要素を同時にサンプリングする機能だ。これは、デプスシャドウ(Depth Shado)系影生成の高効率実行や、最近流行となっているSSAO(Screen Space Ambient Occlusionの略。あるピクセルがどれだけ周囲から遮蔽されているかを、Zバッファの内容を調査して判断しながら、陰影を付けて行く疑似大局照明的なポストプロセス)のような、深度値の広範囲かつ多段のアクセスを駆使した複雑なポストプロセス処理の高効率実行を支援するものになる。

Four-offset Gather4の概念図。与えられた基準テクスチャアドレスs,tに対して-64~+63のオフセットを与えつつ、4テクセルを読み出せる機能

機能面ではRadeon HD 58x0とGeForce GTX 4x0共に、順当なDirectX 11対応を果たしたテクスチャユニットだが、その実装形態にはそれぞれの設計特徴が現れている。

Radeon HD 58x0は、シェーダコアがRadeon HD 48x0の2倍構成であることは既に述べたが、テクスチャユニットも、この倍々ゲームに則っており、個数は丁度2倍に増強されている。

Radeon HD 5870の全体ブロックダイアグラムのうち、テクスチャ周りとメモリシステム周りのみを抜き出したもの。テクスチャユニットもRadeon HD 48x0の2倍化がなされている

テクスチャユニットはRadeon HD 48x0と同じく、1SIMD Engine(16TP=80SP)ごとに1基あてがわれる構成。SIMD EngineはRadeon HD 5870では20個あるので、テクスチャユニットは20基ある計算になる。しかし、各テクスチャユニットのスループットはクロック当たりバイリニアフィルタ付きテクセル4個分であることから、ATIでは80基(4テクセル×20基)相当というスペックで発表している。

対するGeForce GTX 4x0では、各SM(32SP)ごとに4基のテクスチャユニットがあてがわれている。GeForce GTX 480では、SMが15基あるのでテクスチャユニット総数は60基ある計算になる。先代のGeForce GTX 280では合計80基のテクスチャユニットがあったので、数的には20個も減ったことになる。

Streaming Multi-Processor(SM)のクローズアップ。テクスチャユニットは1SMあたり4基を搭載する

ただし、GeForce GTX 4x0の方が、当然先代GeForce GTX 2x0よりも駆動クロックが向上しており、さらにL1テクスチャキャッシュがシェーダコアクロックと同調(GeForce GTX 480ならば1.401GHz)するようになり大幅に高速化されたこと(以前はコアクロックと同調)、後述する汎用L2キャッシュがGeForce GTX 2x0比で3倍に増強されたため、実効テクスチャパフォーマンスにおいて、先代GeForce GTX 2x0に劣ることはない、とNVIDIAは主張する。

Radeon HD 58x0は順当に倍化させたのに対し、GeForce GTX 4x0では、ジオメトリエンジンを贅沢に振る舞ったのとは対称的に、テクスチャパフォーマンスについては大幅な性能強化は行わなかったことは興味深い。

テクスチャ負荷の高い3Dゲームにおけるパフォーマンス比較グラフ。グラフ値は、GeForce GTX 280を100%としたときのGeForce GTX 480のパーセンテージを表している