C++/GDI+ 學習筆記(四)——實用技巧——雙緩衝(Double Buffer)

 雙緩衝在GDI+裏可以有效的提高描畫效率。改善顯示的質量。

  下面的代碼是一個最簡單的雙緩衝的模板。可以根據需要,做簡單的修改即可。

      Bitmap CacheImage( [Width], [Height] );
      Graphics CacheGraphics( &CacheImage );
 
      // 對CacheImage進行描畫
      // ......
     
      // 獲得窗口的Graphics對象
      Graphics Graphic( [ Window’s HDC ] );
 
// 將描畫好的CacheImage畫到窗口上
      Graphic.DrawImage( &CacheImage, [Left], [Top] );

 
根據一些簡單的測試,雙緩衝可以有效的改善圖像的處理速度。不過最明顯的效果還是降低畫面的閃爍程度。

另外還可以使用CachedBitmap類來做雙緩衝。Graphic也有專門的DrawCachedBitmap方法來描畫CachedBitmap。但沒有上述的方法靈活。

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/eplanet/archive/2007/10/12/1821239.aspx

發佈了49 篇原創文章 · 獲贊 8 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章