なんだこれは(゜▽゜;)

とんでもないことになった。
とりあえず画像をアップ。
一応環境を書いておくと、WindowsXP SP2、Pentium4 2.4GHz、GeForce7300GT、メモリ1GB、Ruby1.9.1+DXRuby1.0.3ベースの改造版+DXRubyExtention0.0.5。


「Xo式 実験室」さまに面白そうなアイデアがあったので、ちょっと試してみたのだ。
http://labo.xo-ox.net/article/88631770.html#more
やったことは、三角形2枚で四角を描画していたのを、大きな直角三角形一つに四角いテクスチャを貼るという修正だ。
その結果はごらんの通り、頂点データ数が減ったおかげでDrawPrimitiveUPの負荷が減った、つまりボトルネックが解消されたということらしい。
おそらく、DXRuby側の処理が減り、DirectXドライバの処理も減り、代わりに描画面積が増えた分ピクセルシェーダの処理が増えているはずだ。
テクスチャサイズは変わらず、αテストで省略される部分が増えるだけだから、たいした負荷ではないかもしれないが、この手法で640*480の1枚絵の背景を描いたりしたら結構大きいかもしれない。
でもどうせ画面からはみ出すから処理そのものが省略されて問題はないのかもしれない。
ピクセルシェーダは計算上はかなり遊んでいる状態だが、ローエンドのGPUでどうなるかが問題だ。
915ぐらいを搭載したPCが手元にあれば試したいところだ。
とりあえずすぐに採用しようということはないが、これは面白い可能性だと思う。