ほっしーの技術ネタ備忘録

技術ネタの備忘録です。基本的に私が忘れないためのものです。他の人の役にも立つといいなぁ。

CreateCompatibleDC / Bitmap


最近はとあるアプリを黙々と開発中。
一応お仕事。バイトなのかな?どっちでもいいけど。


で、画面の描画に CreateDIBSection に基づく DIB バッファを用意して
いろんなグラフィック演算をゴリゴリっとやった挙句に BitBlt で描画してるんだけど……


遅い。


単に画面に転送してるだけなのになんで CPU 負荷が 100% になるのかと。


で、いろいろ調べてみたらこんなの。


http://www.sun-inet.or.jp/~yaneurao/intensive/diw1.html
# あれ、やねう氏のページだ...(今気づいたw


結論のみ要約すると
・CreateCompatibleBitmap を使うともしかするとアクセラレーションがかかるかもよ


「まっさかーw」と思いながらも試しに CreateCompatibleDC / Bitmap でバッファを作って
変更がないときはそこから描画するだけにしてみた。


…………


……


CPU 負荷が 10% 切ったぞ!?


なんだこれ。今まで描画の遅さに悩んでたのがバカみたいじゃん。