閱讀http://blogs.msdn.com/b/directx/archive/2009/09/29/comparing-direct2d-and-gdi.aspx:Direct2D是否使用回緩衝區?
演示模型
當被 第一設計的Windows,沒有足夠的內存 ,讓每一個窗口是存儲在自己的位圖 。因此,GDI總是邏輯上直接將 呈現到屏幕上,並應用各種剪輯 區域以確保它不會在其窗口之外進行渲染。在 合同中,Direct2D遵循 的模型,其中應用程序呈現爲 後臺緩衝區,結果爲 當 應用程序完成繪圖時,以原子方式「翻轉」。這個 允許Direct2D處理動畫 更流暢地GDI 可以。
作者說,Direct2D使用後緩衝區,通過「翻轉」他意味着交換鏈我猜。我創建了一個簡單的演示,在鼠標點擊的隨機位置繪製一個矩形。但以前的矩形不會被清除,因此它似乎直接繪製到屏幕上,並且不使用任何後臺緩衝區。
如果我點擊兩次,則會出現兩個矩形。如果使用back-buffer,那不應該是我想的情況。 – Alice
你爲什麼這麼想? – Blindy
我猜如果使用back-buffer,每當我調用BeginDraw時它都會被交換。所以,如果我使用兩個BeginDraw調用繪製兩個矩形,那麼一個矩形轉到緩衝區1,另一個矩形轉到緩衝區2.然後,我們應該只看到一個矩形。 – Alice