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é
- BufferedGraphicsContext
- grafiky s dvojitou vyrovnávací pamětí
- Jak na: Ruční vykreslení grafiky do vyrovnávací paměti
.NET Desktop feedback