方法 : バッファリングされたグラフィックスを手動で管理する
更新 : 2007 年 11 月
高度なダブル バッファリング シナリオでは、.NET Framework クラスを使用して独自のダブル バッファリング ロジックを実装できます。個々のグラフィックス バッファの割り当てと管理を担当するクラスは BufferedGraphicsContext クラスです。各アプリケーションには、そのアプリケーションの既定のダブル バッファリングをすべて管理する、それぞれ独自の既定の BufferedGraphicsContext があります。このインスタンスへの参照は、Current を呼び出して取得できます。
既定の BufferedGraphicsContext への参照を取得するには
次のコード例に示すように、Current プロパティを設定します。
Dim myContext As BufferedGraphicsContext myContext = BufferedGraphicsManager.Current
BufferedGraphicsContext myContext; myContext = BufferedGraphicsManager.Current;
メモ : BufferedGraphicsManager クラスから受け取る BufferedGraphicsContext 参照で Dispose メソッドを呼び出す必要はありません。BufferedGraphicsManager は、既定の BufferedGraphicsContext インスタンスのメモリの割り当てと配布をすべて処理します。
アニメーションなど、グラフィックスを多用するアプリケーションでは、BufferedGraphicsManager が提供する BufferedGraphicsContext ではなく、専用の 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();
参照
処理手順
方法 : バッファリングされたグラフィックスを手動で描画する