Partager via


Guide pratique pour gérer manuellement les graphiques mis en mémoire tampon

Pour les scénarios de double mise en mémoire tampon plus avancés, vous pouvez utiliser les classes .NET Framework pour implémenter votre propre logique de mise en mémoire tampon double. La classe responsable de l’allocation et de la gestion de mémoires tampons graphiques individuelles est la classe BufferedGraphicsContext. Chaque application a sa propre BufferedGraphicsContext par défaut qui gère toutes les mémoires tampons doubles par défaut pour cette application. Vous pouvez récupérer une référence à cette instance en appelant le Current.

Pour obtenir une référence au bufferedGraphicsContext par défaut

  • Définissez la propriété Current, comme illustré dans l’exemple de code suivant.

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

    Remarque

    Vous n’avez pas besoin d’appeler la méthode Dispose sur la référence BufferedGraphicsContext que vous recevez de la classe BufferedGraphicsManager. Le BufferedGraphicsManager gère toutes les allocations et distributions de mémoire pour les instances de BufferedGraphicsContext par défaut.

    Pour les applications graphiquement intensives telles que l’animation, vous pouvez parfois améliorer les performances à l’aide d’un BufferedGraphicsContext dédié au lieu du BufferedGraphicsContext fourni par le BufferedGraphicsManager. Cela vous permet de créer et de gérer des mémoires tampons graphiques individuellement, sans entraîner la surcharge de performances de la gestion de tous les autres graphiques mis en mémoire tampon associés à votre application, bien que la mémoire consommée par l’application soit supérieure.

Pour créer un BufferedGraphicsContext dédié

  • Déclarez et créez une instance de la classe BufferedGraphicsContext, comme illustré dans l’exemple de code suivant.

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

Voir aussi