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
.NET Desktop feedback