Les dejo un truco para aumentar la velocidad de los gráficos en .NET. Habrán notado que el motor gráfico de .NET en general es bastante lento, y si un formulario tiene muchos controles, cada vez que se hace algo, como ser, algo que pasa por arriba, se redibujan los controles y se notan efectos de parpadeo, etc. Pero la verdad es que el motor es bastante rápido, solo que hay que "tunearlo".
Lo único que tienen que hacer es agregar la siguiente línea en el constructor del control.
En C#:
this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
En VB.NET:
Me.SetStyle(ControlStyles.DoubleBuffer Or ControlStyles.AllPaintingInWmPaint, True)
Lo que estamos haciendo es que el motor dibuje en un buffer y recién cuando esté terminado lo mande a pantalla, y en segundo lugar estamos indicando que se ignore el mensaje WM_ERASEBKGND para hacer el OnPaint, lo que reduce aún más el parpadeo.
De ser necesario deben agregar también:
En C#:
this.SetStyle(ControlStyles.UserPaint, true);
En VB.NET:
Me.SetStyle(ControlStyles.UserPaint, True)
Hay muchas más opciones. Pruébenlo en sus controles. Es enorme el aumento de velocidad.
Más información en el sitio MSDN:
http://msdn.microsoft.com/en-us/library/system.windows.forms.controlstyles.aspx
Espero les sirva tanto como a mi.
Hasta pronto.
Joshua03
Lo único que tienen que hacer es agregar la siguiente línea en el constructor del control.
En C#:
this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
En VB.NET:
Me.SetStyle(ControlStyles.DoubleBuffer Or ControlStyles.AllPaintingInWmPaint, True)
Lo que estamos haciendo es que el motor dibuje en un buffer y recién cuando esté terminado lo mande a pantalla, y en segundo lugar estamos indicando que se ignore el mensaje WM_ERASEBKGND para hacer el OnPaint, lo que reduce aún más el parpadeo.
De ser necesario deben agregar también:
En C#:
this.SetStyle(ControlStyles.UserPaint, true);
En VB.NET:
Me.SetStyle(ControlStyles.UserPaint, True)
Hay muchas más opciones. Pruébenlo en sus controles. Es enorme el aumento de velocidad.
Más información en el sitio MSDN:
http://msdn.microsoft.com/en-us/library/system.windows.forms.controlstyles.aspx
Espero les sirva tanto como a mi.
Hasta pronto.
Joshua03