Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2007
Avatar de dinito
dinito dinito is offline
Registrado
 
Registrado: may 2006
Posts: 5
Poder: 0
dinito Va por buen camino
Smile Como crear mi propio doble buffering para mis aplicaciones

Hola a todos como están, bueno ahora les escribo a todos ustedes para que alguien me pueda ayudar con respecto al doble buffering para evitar los parpadeos de las imagenes que se pintan en una forma. Bueno de antemano les digo que ya utilice la propiedad DoubleBuffered = true y funciona muy bien, pero ahora lo que quiero es saber como puedo implementar mi propio buffering. Esto lo hago con el motivo de aprender como funciona esta utilidad ya que desconozco y tengo poco entendimiento con respecto a esto, y lo quiero es aprender. Gracias por su ayuda.
Responder Con Cita
  #2  
Antiguo 26-03-2007
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Pues seguro que se puede hacer metiéndote de lleno con el API de Windows y tal, pero hasta que llegue Seoane y nos lo resuelva puedes hacer más ligera la espera echando un vistazo a Allegro.pas que incluye un ejemplo de cómo hacerlo.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 26-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Alguien llamo a un doctor???

La técnica del doble buffer no es otra cosa que dibujar primero todo en un bitmap oculto y luego dibujar el bitmap en el formulario. Normalmente para dibujar el formulario primero se borra todo y luego se van dibujando cada uno de los controles, produciéndose el parpadeo, usando el buffer, vamos dibujando cada uno de los controles en un bitmap y luego dibujamos el bitmap sobre el formulario, evitando así el parpadeo.

La propiedad DoubleBuffered lo que hace es interceptar el mensaje WM_PAINT, y obliga al formulario a dibujarse en un bitmap en vez de hacerlo directamente en la pantalla. No se hasta que punto te interesa hacer esto a ti, en el mejor de los casos tendrías que interceptar y manejar tu mismo el mensaje WM_PAINT, con todo el trabajo extra que eso supone.

Aunque la técnica del doble buffer nos puede resultar útil en otros casos, por ejemplo, cuando estamos dibujando sobre un TImage o un TPaintbox alguna animación. El procedimiento habitual es dibujar un "frame" de la animación, borrar, dibujar el siguiente y volver a repetir la misma operación. Al borrar se produce el parpadeo del que hablábamos. El proceso con buffer sin embargo seria el siguiente: Crear un bitmap del mismo tamaño que el TImage o TPaintBox, dibujar el frame sobre el bitmap, dibujar el bitmap sobre el TImage o TPaintbox y repetir la operación. Como ves de esta manera se dibuja todo a la vez y sin necesidad de borrar primero lo anterior, lo que evita el parpadeo.

Vaya rollo que he soltado
Responder Con Cita
  #4  
Antiguo 30-03-2007
Avatar de dinito
dinito dinito is offline
Registrado
 
Registrado: may 2006
Posts: 5
Poder: 0
dinito Va por buen camino
Wink

Gracias a todos por la información, esta buena y clara, pero será posible que alguno de ustedes puedan darme un pequeño ejemplo en código donde pueda ver ese double buffering.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
crear aplicaciones para PDA's DRAKOSPIKE Varios 2 05-12-2006 20:38:38
Crear Aplicaciones con Delphi listas para Windows Vista gluglu Noticias 1 06-11-2006 17:26:02
¿cómo crear un archivo ejecutable para aplicaciones en java? rls JAVA 11 12-07-2006 17:42:39
Ayuda con el Microsoft Help Workshop para crear las ayudas para aplicaciones en Delph Lester Varios 2 19-06-2003 17:14:16
Ayuda para crear mi propio IDE antonio Varios 2 03-06-2003 13:07:32


La franja horaria es GMT +2. Ahora son las 16:36:58.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi