頂点キャッシュ

頂点キャッシュとは、3DCGデータを処理してディスプレイに出力するハードウェアのグラフィックボードについているキャッシュの事です。

最近のグラフィックボードはPre T&L と Post T&L、そしてPrimitive Assemblyという三つのキャッシュがあります。

T&Lというのは座標変換処理とライティング処理の略で、Pre T&Lはそれらの計算前のメモリからコピーしてきた頂点データのキャッシュ。
Post T&Lは計算後のキャッシュです。Primitive Assemblyの方はストリップとかに使うやつです(確か…)。

今日はPre T&Lと PostT&Lキャッシュのお話を。


処理する頂点数が100万以上(ってことでポリゴン数は200万以上)になってくるとこのキャッシュ効果が効いてきて、劇的に描画速度が変わります。

昨日はいくつかのデータに対してポリゴン一つあたりのキャッシュのミス率(つまりメモリからそのデータを送ってもらいもう一度T&Lの計算を行う率、ACMRと呼ばれます)を測定しました。

測定したデータは二つで、同じ規模のデータ。一つが2.6ぐらい(つまり200万個のポリゴンの殆どでキャッシュが使えない)。
もうひとつは1.5ぐらいでした。


そしてその二つのデータの描画速度(FPS)の差は5倍以上ひらきました…もちろんACMRが少ない方が速いです。



びっくり!頂点キャッシュすごいです。