+にゃんにゃんにゃんこの演習+ 続・DXライブラリ高速化

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

続・DXライブラリ高速化

前回の記事のチャレンジの結果です。

結論から言うと、
かなり高速化できました!


60fpsを維持して描画できる弾の数が1000個から6000個に!



やったことは以下。



・SetDrawBrightのエラーチェック、変数のキャスト、一時オブジェクトの生成等をすべてカット

・自作のゲーム内で、色情報はRGBAの構造体で持ってたので、それをそのまま渡すように

・内部でRGBAをDWORD型にまとめてるのに、なぜかアルファ値は別の関数(SetDrawBlendMode)で指定するようになってるので、アルファも同関数内で処理するようにした

・そのDWORD型にまとめる処理を毎回やってたら勿体無いんで、ゲームのプログラムの方で処理するようにした
 毎回変換しなくても、弾オブジェクトが持ってるDWORD型の色変数を渡すだけで済むように





まとめると、エラーチェックを削除して、色構造体と色変数を渡すようにた、って感じですね
色構造体と色変数が、型が違うだけで意味する内容は同じなんだけど、そこはまぁ、高速化ってことで……
あ、元の関数を書き換えたんじゃなくて、高速化したバージョンの関数を追加した感じです


ライブラリの改造なんてしたことないので、どうせ失敗するだろうなー、と思ってたら予想以上の成果でした
ぶっちゃけ最初にDXライブラリのソースをビルドするまでの方が大変だったかも……w

そのままじゃビルド通らないんで、いろいろ外部ライブラリ集めたり……
手順はリードミーに書いてあるんですけどね!





他にも、弾描画処理の中で呼ぶ関数は高速化したバージョンを作っといたほうがいいのかもしれないなぁ……
毎フレーム数千回呼んだりする関数はちょっと処理を軽くすれば驚くほど効果があるので面白いです

危ないけどねw
自己責任で……

テーマ : ゲーム製作 関連
ジャンル : ゲーム

コメントの投稿

Secre

+サークルのサイト+
森の中の猫の小屋 author:稲塚 春
+twitter+
+エントリサーチ+
+カテゴリ別エントリ+
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。