Nasıl yapılır: Arabelleğe Alınan Grafikleri Elle Yönetme

daha gelişmiş çift arabelleğe alma senaryolarında, kendi çift arabelleğe alma mantığınızı uygulamak için .NET Framework sınıflarını kullanabilirsiniz. Tek grafik arabelleklerinin dağıtılmasından ve yönetiminden sorumlu sınıf, BufferedGraphicsContext sınıftır. Her uygulamanın, BufferedGraphicsContext Bu uygulama için varsayılan iki arabelleğe alma işleminin tümünü yöneten kendi varsayılanı vardır. Çağırarak, bu örneğe bir başvuru alabilirsiniz Current .

Varsayılan BufferedGraphicsContext öğesine bir başvuru almak için

  • CurrentAşağıdaki kod örneğinde gösterildiği gibi özelliği ayarlayın.

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

    Not

    DisposeSınıfından aldığınız başvuru üzerinde yöntemini çağırmanız gerekmez BufferedGraphicsContextBufferedGraphicsManager . , BufferedGraphicsManager Varsayılan örnekler için tüm bellek ayırmayı ve dağıtımını işler BufferedGraphicsContext .

    Animasyon gibi grafiksel olarak yoğun uygulamalarda, bazen BufferedGraphicsContext tarafından sağlanması yerine adanmış bir kullanarak performansı artırabilirsiniz BufferedGraphicsContextBufferedGraphicsManager . Bu, uygulama tarafından tüketilen bellek daha büyük olsa da, uygulama ile ilişkili diğer tüm arabelleğe alınmış grafiklerin yönetilmesi için performans yükünü tek tek oluşturup yönetmenize olanak sağlar.

Adanmış bir BufferedGraphicsContext oluşturmak için

  • BufferedGraphicsContextAşağıdaki kod örneğinde gösterildiği gibi, sınıfının yeni bir örneğini bildirin ve oluşturun.

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

Ayrıca bkz.