Parpadeo en animación - DotNetClubs
en

DotNetClubs

Comunidades de estudiantes entusiastas de la tecnología

Parpadeo en animación

Último artículo 03-16-2007 22:25 escrito por penyaskito. 2 respuestas.
Página 1 de 1 (3 elementos)
Ordenar mensajes: Anterior Siguiente
  • 03-16-2007 12:24

    • javier
    • Contribuyente Top 10
    • Se unió el 08-24-2006
    • Salamanca
    • Envíos: 69
    • Puntos: 0
    • DotNetClub_Coordinadores
      DotNetClub_Miembros

    Parpadeo en animación

    Hola:

    Estoy haciendo una aplicación de una PDA y tengo una animación. La animación mueve varios controles de usuario a la vez usando un temporizador y me he encontrado con que al pasarlo a la PDA real, se nota un cierto "parpadeo" en los iconos que muestran estos controles. En total se animan 7 iconos (uno por cada control) en la pantalla, de un tamaño de 42x42 (png). ¿Es posible que no esté haciendo algo bien y que se pueda optimizar el rendimiento para evitar este parpadeo?

    Actualmente, en cada procesado del evento tick del temporizador, muevo el punto de cada uno y luego hago un Refresh(). Por otro lado, en el control tengo escrito lo siguiente en el evento OnPaint()

    protected override void OnPaint(PaintEventArgs e)
    {
      graphics.DrawImage(bitmap, 0, 0, e.ClipRectangle, GraphicsUnit.Pixel);
      Font f = new Font(FontFamily.GenericSerif.Name, 10, FontStyle.Regular);
      StringFormat sf = new StringFormat(StringFormatFlags.NoWrap | StringFormatFlags.NoClip);
      using (SolidBrush brush = new SolidBrush(Color.Red))
      {
          graphics.DrawString(this.acronimo, f, brush, 0, 0, sf);
       }
    }

    ¿Alguna sugerencia sobre cómo podría evitar el indeseado parpadeo?
    • Puntos de post: 0
  • 03-16-2007 17:36 en respuesta a

    • vargas
    • Contribuyente Top 10
    • Se unió el 07-11-2006
    • Sevilla
    • Envíos: 193
    • Puntos: 45

    Re: Parpadeo en animación

    Hola Javier!

    Creo que tu problema se debe a que estás usando Windows Forms e intentas pedirle más capacidad gráfica de la que tiene. No estoy seguro, pero intenta ver si los Forms de .NET CF tiene propiedad de doble búfer. En caso contrario, a ver si alguién te da una respuesta mejor que la mía.

    Un saludo.
    • Puntos de post: 0
  • 03-16-2007 22:25 en respuesta a

    • penyaskito
    • Contribuyente Top 25
    • Se unió el 08-17-2006
    • Sevilla
    • Envíos: 61
    • Puntos: 115
    • DotNetClub_Miembros

    Re: Parpadeo en animación

    Prueba en llamar a los métodos SuspendLayout/ResumeLayout antes y después de reposicionar los controles.
    Sin más información poco más te puedo decir.
    Un saludo.
    Christian López Espínola
    http://penyaskitodice.wordpress.com
    penyaskito AT sevilla.dotnetclubs.com
    • Puntos de post: 0
Página 1 de 1 (3 elementos)
(c) DotNetClubs 2008
Ofrecido por Community Server (Commercial Edition)