Gewusst wie: Manuelles Verwalten von gepufferten Grafiken

Aktualisiert: November 2007

Für anspruchsvollere Szenarien mit doppelter Pufferung können Sie die .NET Framework-Klassen verwenden, um Ihre eigene doppelte Pufferungslogik zu implementieren. Die Klasse, die für das Zuordnen und Verwalten einzelner Grafikpuffer verantwortlich ist, ist die BufferedGraphicsContext-Klasse. Jede Anwendung verfügt über einen standardmäßigen BufferedGraphicsContext, der die gesamte standardmäßige doppelte Pufferung für die Anwendung verwaltet. Sie können einen Verweis auf diese Instanz abrufen, indem Sie Current aufrufen.

So erhalten Sie einen Verweis auf den standardmäßigen BufferedGraphicsContext

  • Legen Sie die Current-Eigenschaft fest, wie im folgenden Codebeispiel gezeigt.

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

    Sie müssen nicht die Dispose-Methode für den BufferedGraphicsContext-Verweis aufrufen, den Sie von der BufferedGraphicsManager-Klasse abrufen. Der BufferedGraphicsManager übernimmt die gesamte Speicherzuordnung und -verteilung für standardmäßige BufferedGraphicsContext-Instanzen.

    Bei grafisch anspruchsvollen Anwendungen wie Animationen können Sie manchmal die Leistung verbessern, indem Sie einen dedizierten BufferedGraphicsContext anstelle des BufferedGraphicsContext verwenden, der vom BufferedGraphicsManager bereitgestellt wird. Dadurch können Sie Grafikpuffer einzeln erstellen und verwalten, ohne dass die Verwaltung aller anderen gepufferten Anwendungsgrafiken die Leistung beeinträchtigt. Der von der Anwendung beanspruchte Arbeitsspeicher nimmt jedoch zu.

So erstellen Sie einen dedizierten BufferedGraphicsContext

  • Deklarieren und erstellen Sie eine neue Instanz der BufferedGraphicsContext-Klasse, wie im folgenden Codebeispiel gezeigt.

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

Siehe auch

Aufgaben

Gewusst wie: Manuelles Rendern von gepufferten Grafiken

Konzepte

Doppelt gepufferte Grafiken

Referenz

BufferedGraphicsContext