Re: [問題] double buffer的問題

看板C_and_CPP (C/C++)作者 (愛不趴 不愛趴)時間16年前 (2010/01/13 12:01), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/4 (看更多)
真正造成閃爍的原因在於 當你呼叫重繪動作時 系統會把無效區中的所有的物件依序重繪 以一個簡單的重繪bmp的例子 可能的動作有 1. 先呼叫FillRect將底色塗掉 2. 呼叫BitBlt繪出bmp圖 你會看到的閃爍 是先看到底色 然後再看到bmp的現象 要解決這個問題 必需要讓DC實際上畫的動作只作一次才是解決之道 可以先建立一塊memDC 將FillRect與BitBlt的動作[畫]到memDC上 然後再把memDC[畫]到視窗的DC上才能避免 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.85.162

01/14 20:46, , 1F
01/14 20:46, 1F
文章代碼(AID): #1BJKMNbQ (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1BJKMNbQ (C_and_CPP)