• ベストアンサー

猫でもわかるプログラミング41章

http://www.kumei.ne.jp/c_lang/sdk/sdk_41.htm です。クリックしたらBMP画像を変化させるという単純なプログラムで、掲載されている内容はなんとか理解したのですが、一番最後のコメント。 ******************** クリックに対して反応が悪いときがあります。プログラムのアルゴリズムを変えてもっとスムースに動くように改良してみてください。 ******************** でつまづいています。どうもスムーズに動くようなアルゴリズムが組めません。 自分がやった方法として、 1.インスタンスハンドルをグローバル変数にして、早い段階でこれに代入しておく。 くらいしか思いつきません。というよりこれによって早くなるのかどうかもわかりません^^; 何か他に方法はあるでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • mi-si
  • ベストアンサー率35% (200/567)
回答No.1

足引っ張っているのは、DrawPicの部分ですね。 一番安全に高速化を試みるには、最初にWM_DRAWITEMが呼ばれた時点で、両方のBitmapデータをメモリ上に展開しておく(DeleteDC,DeleteObjectを発行しない)と言うところでしょうか?確保したDeleteDC,DeleteObjectはアプリの終了時に行います。(hmdcは配列化してグローバル変数にする) 後はhmdcは配列で切り替えてBitBlt。

arcsin
質問者

お礼

ありがとうございます。 言われてみて、おぉなるほど!って思いましたが、気づきませんでした・・ またお願いします

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

こんなのとか 仮想画面で高速描画 http://www.expertmg.co.jp/html/cti/vctips/others.htm#仮想画面で高速描画 あらかじめ、2つ仮想画面を作っておいて、内容を変えるときはBitBltだけにする。

参考URL:
http://www.expertmg.co.jp/html/cti/vctips/others.htm#仮想画面で高速描画
arcsin
質問者

お礼

参考URLありがとうございます。 勉強になりました^^v

関連するQ&A