HOW TO:手動管理已緩衝的圖形
更新:2007 年 11 月
如果是比較進階的雙重緩衝狀況,您可以使用 .NET Framework 類別實作自己的雙重緩衝邏輯。負責配置及管理個別圖形緩衝區的類別是 BufferedGraphicsContext 類別。每一個應用程式都有自己的預設 BufferedGraphicsContext,以管理該應用程式所有的預設雙重緩衝。您可以呼叫 Current,藉此擷取這個執行個體的參考。
若要取得預設 BufferedGraphicsContext 的參考
設定 Current 屬性,如下列程式碼範例所示:
Dim myContext As BufferedGraphicsContext myContext = BufferedGraphicsManager.Current
BufferedGraphicsContext myContext; myContext = BufferedGraphicsManager.Current;
注意事項: 您不需要呼叫 BufferedGraphicsContext 參考 (接收自 BufferedGraphicsManager 類別) 上的 Dispose 方法。BufferedGraphicsManager 會處理預設的 BufferedGraphicsContext 執行個體所有的記憶體配置與散發。
如果是圖形密集的應用程式 (例如動畫),有時候您也可以使用專屬的 BufferedGraphicsContext 以提高效能,而不使用由 BufferedGraphicsManager 所提供的 BufferedGraphicsContext。這樣可讓您以個別的方式建立及管理圖形緩衝區,而不會因管理和應用程式相關聯的所有其他已緩衝圖形而增加效能負荷。
若要建立專屬的 BufferedGraphicsContext
宣告及建立 BufferedGraphicsContext 類別的新執行個體,如下列程式碼範例所示:
Dim myContext As BufferedGraphicsContext myContext = New BufferedGraphicsContext ' Insert code to create graphics here. ' On a nondefault BufferedGraphicsContext instance, you should always ' call Dispose when finished. myContext.Dispose()
BufferedGraphicsContext myContext; myContext = new BufferedGraphicsContext(); // Insert code to create graphics here. // On a non-default BufferedGraphicsContext instance, you should always // call Dispose when finished. myContext.Dispose();