Sdílet prostřednictvím


Postupy: Ruční správa grafiky s mezipamětí

Pro pokročilejší scénáře dvojité vyrovnávací paměti můžete použít třídy rozhraní .NET Framework k implementaci vlastní logiky dvojité vyrovnávací paměti. Třída zodpovědná za přidělování a správu jednotlivých grafických vyrovnávacích pamětí je třída BufferedGraphicsContext. Každá aplikace má vlastní výchozí BufferedGraphicsContext, která spravuje všechny výchozí dvojité vyrovnávací paměti pro danou aplikaci. Odkaz na tuto instanci můžete získat voláním Current.

K získání reference na výchozí BufferedGraphicsContext

  • Nastavte Current vlastnost, jak je znázorněno v následujícím příkladu kódu.

    BufferedGraphicsContext myContext;
    myContext = BufferedGraphicsManager.Current;
    
    Dim myContext As BufferedGraphicsContext
    myContext = BufferedGraphicsManager.Current
    
    

    Poznámka

    U BufferedGraphicsContext odkazu, který obdržíte z třídy BufferedGraphicsManager, není nutné volat metodu Dispose. BufferedGraphicsManager zpracovává veškeré přidělení a distribuci paměti pro výchozí instance BufferedGraphicsContext.

    Pro graficky náročné aplikace, jako je například animace, můžete někdy zvýšit výkon pomocí vyhrazeného BufferedGraphicsContext místo BufferedGraphicsContext poskytovaného BufferedGraphicsManager. To vám umožní vytvářet a spravovat grafické vyrovnávací paměti jednotlivě, aniž by to mělo dopad na výkon při správě všech ostatních vyrovnávacích pamětí grafik přidružených k vaší aplikaci. Spotřeba paměti aplikací však bude větší.

Vytvoření vyhrazeného BufferedGraphicsContextu

  • Deklarujte a vytvořte novou instanci třídy BufferedGraphicsContext, jak je znázorněno v následujícím příkladu kódu.

    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();
    
    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()
    
    

Viz také