Last Updated 2004/06/08 |
Programming Tips Visual C++ MFC CView | 索 引 |
擬似アニメーションのちらつき防止法
2004/06/08
擬似アニメーションなどは OnTimer() などで画面描画を更新することとなる. (擬似アニメーションに限らずロギングなどのソフトはそのような処理になることが多い) OnTiemr() の中で Invalidate(TRUE); などとやってしまうと,全画面を更新するので画面がちらつくこととなる. OnTimer() の中では無効になる矩形を計算して InvaridateRect() として,OnDraw() にて,GetClipBox() するとちらつきはかなり減らすことができる. また,CreateCompatibleDC() などを使用して裏画面を用意してそれを転送するようにするとちらつきをおさえることができる.この場合 OnTimer() の中では Invalidate(FALSE); とする.
また,描画を抑制する方法としては,UpdateAllViews() の呼び出しを以下の様にする方法もある.
参照 |
|