描画の高速化

いくら最適化オフとはいえ、あんなに重くちゃかなわないので、ちょっくらコード最適化に乗り出してみることに。
ところでVC7.1ってプロファイラが無いんですね*1これを知ったときのorz加減といったら・・・というわけでググって見つけた日本コンピュウェアさんのDevPartner Profiler Community Editionというツールを使ってみることに。なんと無料で使えるらしい。早速落としてみたところかなり良い感じ。これが無料で使えるとは、すごい!太っ腹! 

さっそくプロファイルを取ってみたところ、ポリゴンモデルの描画が一番重い処理のようだった。そりゃforループで一つ一つglVertex3fvやってたり、全ての面に対してglMaterial〜なんてやってたら遅いよなー。いつか直すつもりでいい加減に組んでたのを忘れてたw
というわけで頂点配列を使用することにした。(http://tpot.jpn.ph/t-pot/program/125_GlMesh/index.htmlを参考にさせていただきました。)ちゃちゃっと実装してみると、効果は覿面。最適化オフでビルドしても200オブジェクトくらいまで60FPSを維持できる。素晴らしい。strip化したりGL_ARB_vertex_buffer_objectを使うようにすればまだまだ高速化できるはず。
あとは2番目に重い処理だった衝突判定をなんとかしないと。