Compartir a través de


Cómo: Administrar manualmente gráficos almacenados en búfer

Actualización: noviembre 2007

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

Conceptos

Gráficos de doble búfer

Referencia

BufferedGraphicsContext