さて、今テスト期間中です。そろそろテスト勉強しないとやばいやばい。
SDL_SetColorKeyとかするときに、SDL_RLEACCEL使ってるでしょうか。
カラーキー付きBlitするときに、透明ピクセルの数を数えといて、ピクセルごとの比較を無くそう。っていうフラグです。
そんなんで速くなるんかいな。とか思ったんですが、透明ピクセルが少ない場合でも2倍以上、
透明ピクセルが多い場合は5,6倍以上速くなってるような感じです。
ちなみに、全ピクセル透明320x320のサーフェスで約50倍も速くなってました。かなりの効果はあるようです。
使い方は簡単、SetColorKeyするときにSDL_RLEACCELフラグを足してやるだけです。
ただし、ソフトウェアサーフェスの場合もpixels弄る時はLock-UnLockしないといけないようになるのと、
UnLockが絶望的に遅いということは覚えておいたほうがいいと思いました。
計測に使ったプログラム
Home