思ったほどパフォーマンスでないな

STATUS: 故障中

 いま作っているBitmap(というかDIBSection)管理クラスの速度試験をしてみました。
 画面一面にBitbltでイメージを敷き詰めてスクロールさせるというもの。画面のサーフェイス、イメージともにDIBSectionです。

● 結果

Pentium4 3.06GHz + GeForceTI4200
XGA(24bit) 60fps
VGA(24bit) 130fps

・Celeron800MHz + MatroxG200
XGA(24bit) 20fps
VGA(24bit) 65fps

 ぐはー。遅〜。
 アクションゲーム用に作っているライブラリじゃないから、本来の目的としては十分なんだけど、ゲームに流用はきついなあ。
 Pen4はまあいいとして、Celeronではかなりぎりぎり。背景書くだけでおわっちゃうよ。
 グラフィックカードアクセラレーション気ってもあんまり結果はかわらなかったので、メモリ上のDIBSection同士の処理はまるっきりアクセラレーション効いてませんね(最後に画面に描画するとこは、アクセラレータの効果がある)。
 やっぱSDLDirectXって偉かったなだね。
 あとで、コア部分をSDLに対応させよう。SDLのサーフェイスもアクセラレーション効いたか、ちょっと不安なんだけど(どうだったかな)。
 それとも直接メモリイメージ触らないときは、内部サーフェイスをDDBにするモード追加したほうが楽かな。

# PlgBit APIは任意の角度で回転とか出来てとても便利なんだけど、イメージにマスクを指定すると僕の環境(Pen4+GeForce+Win2k)では確実に落ちる。Windowsが即死。なんちゅう危険なAPIだ。

コメント