雙緩衝 Double Buffering

前端緩衝(Front Buffer)是一塊能直接映射到顯示器的內存區域。當在其上繪圖時,它們都會立刻顯示出來。在 WndProc中的WM_PAINT消息中通過BeginPaint()得到的HDC就是前端緩衝的HDC;

    爲了防止閃爍,需要在內存中另外創建一塊區域,其格式和大小都與前端緩衝器完全相同,並在其上進行所有的繪畫。這一塊區域就是後備緩衝區。由於是在一個離屏(off-screen)緩衝器上進行繪畫,因而在畫的時候根本不會有任何圖形顯示出來。用戶必須做的(在每一幀)中只是將後備緩衝區中畫好的內容複製到前臺緩衝區(這種操作通常稱做blitting,即顯存位塊傳送)。由於這種傳送速度極快,幾乎是立刻發生,屏幕刷新不會由於電子槍的移動而變得混亂,這樣實現了不閃爍的顯示。這一技術就稱爲雙緩衝技術(Double Buffering), 有時也稱爲頁面切換技術(Page Flipping)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章