Cómo: Administrar manualmente gráficos almacenados en búfer
En aquellos escenarios de doble búfer más avanzados, se pueden utilizar las clases de .NET Framework para implementar su propia lógica de búfer doble. La clase responsable de asignar y administrar búferes de gráficos individuales es la clase BufferedGraphicsContext. Cada aplicación tiene su propio BufferedGraphicsContext predeterminado que administra todos los búferes dobles predeterminados para dicha aplicación. Puede recuperar una referencia a esta instancia mediante la llamada a la propiedad Current.
Para obtener una referencia a la clase BufferedGraphicsContext predeterminada
Establezca la propiedad Current, como se muestra en el ejemplo de código siguiente.
Dim myContext As BufferedGraphicsContext myContext = BufferedGraphicsManager.Current
BufferedGraphicsContext myContext; myContext = BufferedGraphicsManager.Current;
Nota
No tiene que llamar al método Dispose en la referencia BufferedGraphicsContext que recibe de la clase BufferedGraphicsManager. La clase BufferedGraphicsManager controla la asignación y la distribución de memoria para las instancias de BufferedGraphicsContext predeterminadas.
En aquellas aplicaciones que utilizan gráficos de forma intensiva, a veces se puede mejorar el rendimiento utilizando una clase BufferedGraphicsContext dedicada en lugar de BufferedGraphicsContext proporcionada por BufferedGraphicsManager. Este sistema permite crear y administrar búferes de gráficos individualmente, sin causar la sobrecarga de rendimiento de administrar el resto de gráficos almacenados en búfer asociados con la aplicación, aunque la memoria consumida por la aplicación será mayor.
Para crear una clase BufferedGraphicsContext dedicada
Declare y cree una nueva instancia de la clase BufferedGraphicsContext, como se muestra en el ejemplo de código siguiente.
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();
Vea también
Tareas
Cómo: Representar manualmente gráficos almacenados en búfer