創建新表單後,我通常會執行這個儀式:爲什麼DoubleBuffered默認禁用?
- 將名稱改爲有意義的;
- 輸入a
Caption
; - 更改位置屬性(DefaultPosOnly幾乎不會滿足用戶的期望);
- 將
ShowHint
設置爲true
; - Set
DoubleBuffered
totrue
;
我一直想知道爲什麼默認值是'假'。對我來說,它只是低技術和蹩腳的,在我的新機器上,我沒有注意到性能上的差異。
舊計算機,VNC,遠程桌面或虛擬機上的doublebuffering問題可能是?
你把它打開還是關閉?任何建議?
+1不錯的答案。 Nitpick:將「快速複製」替換爲「交換」或其他沒有給出印象的其他內容,實際上是進行緩衝區複製。緩衝區交換通常是簡單的指針交換。 – 2009-09-11 02:21:54
好點,我已經更新了答案。當然,在Windows Forms.NET中,還有一個「假裝」雙緩衝,實際上它只是一個內存拷貝。 – Ash 2009-09-11 02:26:56
當'DoubleBuffered'爲true時,控件響應如下的畫圖消息:它創建一個位圖,繪製位圖,調用BitBlt將位圖複製到窗口上,然後銷燬該位圖。這不僅僅是一個簡單的指針交換。 – 2009-09-11 04:49:21