|
|
|
|
PII/350とK6-2/300@3DNow!の3Dグラフィックにおける、物理計算量とフレームレートの関係を計測してみた。
横軸は物理演算量を示す(1フレーム内60,000演算を1とした値:0.1は10分の1の演算量であることを示す)
物理演算が軽くなるに従い、フレームレートが頭打ちになるが、3DNow!による物理演算負荷がジオメトリ演算等に比べ軽いためPentiumIIより早く頭打ちになっている。 早く頭打ちになるlこと自体は問題ないが、このことから言えるのは物理演算とジオメトリ演算の負荷比率が異なるということである。これはジオメトリ演算には3DNow!が利用されていないか、最適な形で利用されていないと考えて間違いないと思う。 参考のために軌道計算をK6-III/450のFPUで行ったものも計測してみた。 やはりDirectX5.0でなくDirectX6.0/6.1で書き直すか、DirectXお任せ(RetainedMode)のジオメトリ演算ではなく、直接3DハードにアクセスするImmediateModeで書く必要がありそうだ。
前出のグラフはGravity2の背後に流れる星の数を1,500として測定したもので、1,500の星の位置計算がDirect3Dサイドで行われている。 そこで、その位置計算が処理に及ぼす影響を測るために、星の数を1にして計測したフレームレートを参考資料として以下に示す。
PentiumII/350で同様の測定を行ったところ、以外にも70fpsで頭打ちになってしまった。 |