[リリース版での速度比較の記事はここです.Trimesh以外はほぼ同じです.]
irrDrawstuff共同開発者のホッピーさんにirrDrawstuff (ver. 0.01)とDrawstuffの速度比較に関する記事を寄稿してもらいました.
共同開発者のホッピーです。
描画速度の比較 irrDrawstuff v0.01とDrawstuffで、現状での描画速度比較を行いました。
使用したコンピュータのスペックは以下の通りです。
- コンピュータのスペック
- PC: Panasonic Let’s note R8 CF-R8F
- OS: Windows XP
- CPU: Core 2 Duo SU9400 1.4GHz(3MB)
- Main Memory: 4GB
- Video Chip: Mobile Intel GS45 Express
- ODEのバージョン 0.11.1
- irrlichtのバージョン 1.6.1
今回の描画速度の比較はデバッグ版を使って行いました。 比較を行ったジオメトリは、球(Sphere)、ボックス(Box)、円柱(Cylinder)、カプセル(Capsule)、ライン(Line)、トライメッシュ(Trimesh)です。 また、空と、地面のテクスチャのみ(Texture)の比較と、デモとして、Bounceの速度比較も行いました。
描画速度比較の結果は以下の表の通りです。 表はそれぞれの100フレーム分のフレームレートの平均と、Drawstuffの描画速度を100%としたときのirrDrawstuffの描画速度の割合を表しています。
表: 描画速度の計測結果 (Drawstuff VS irrDrawstuff v0.01)
描画速度が遅いジオメトリは、高速になるよう改良していきます。
ホッピー
コメント
解説します.
Sphere,Box, Lineについてはirrlichtでサポートしている基本形状を使い実装したので速度はほとんど変わりません.
CylinderとCapsuleについては,drawstuffで使われているOpenGLのコードをirrlichtの
APIを使って実装し直しています.そのため,遅いのはわかりますが,Cylinderは遅すぎるのでコードを確認してみます.
また,Trimeshが遅いのは,三角形のメッシュを1個ずつ描画しているためです.irrDrawstuffでは3Dモデルファイルを読むことができます.その場合は,効率的にメッシュを描画するので遅くはありません.drawstuffのサンプルであるウサギを3Dファイルに変換して一度速度を測る必要があります.
なお,簡単なデモであるボールのバウンスについては,drawstuffの方が球のなめらかさが荒いのでそのせいかもしれません.確認してみます.
高速化のチューンアップをしていないので,こんなものでしょう.
でむ