Sdílet prostřednictvím


Postupy: Ruční správa grafiky uložené do vyrovnávací

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 BufferedGraphicsContext třída. Každá aplikace má vlastní výchozí nastavení BufferedGraphicsContext , které spravuje všechny výchozí dvojité ukládání do vyrovnávací paměti pro danou aplikaci. Odkaz na tuto instanci můžete načíst voláním Current.

Získání odkazu na výchozí bufferedGraphicsContext

  • Current Nastavte 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:

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

    Pro graficky náročné aplikace, jako je animace, můžete někdy zlepšit výkon pomocí vyhrazené BufferedGraphicsContext místo BufferedGraphicsContext poskytovaného objektem BufferedGraphicsManager. To vám umožní vytvářet a spravovat grafické vyrovnávací paměti jednotlivě, aniž by došlo k režii na výkon při správě všech ostatních grafiky ve vyrovnávací paměti přidružené k vaší aplikaci, i když paměť spotřebovaná aplikací bude větší.

Vytvoření vyhrazené vyrovnávací pamětiGraphicsContext

  • Deklarujte a vytvořte novou instanci BufferedGraphicsContext třídy, 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é