次の方法で共有


方法 : バッファリングされたグラフィックスを手動で管理する

高度なダブル バッファリング シナリオでは、.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();
    

参照

処理手順

方法 : バッファリングされたグラフィックスを手動で描画する

参照

BufferedGraphicsContext

概念

ダブル バッファリングされたグラフィックス