![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
A que te refieres coso? pues el ejemplo funciona con N componentes "encima" sin ningun efecto "flickering"
![]() PD; al utilizar la propiedad DoubleBuffered perteneciente a TWinControl se crea en cada proceso de repintado, un nuevo canvas y bitmap internamente y se hace uso de una llamada recursiva a WMPaint con lo que en procesos complejos con GDI se nota una carga extra al procesador. Tambien me parece que seria un "juego" algo "feo" si tuviese un TButton al centro del formulario (por ejemplo). Saludos |
|
#2
|
|||
|
|||
|
no no tu ejemplo perfecto, pero si el bitmap no se copiase a toda la form, entonces todo el resto (si estuviese doublebuffered a false) se dibujaria directamente a pantalla no? entonces, vamos, para una form con un dibujo mejor crear un unico bitmap de toda la form (esto es doublebuffered a true de la form). Me refiero, q si TBitmap esta con dblbuffer y la form no, el trozo de form visible se dibujaria directamente a pantalla mientras q de TBitmap se haria el dibujo a memoria y luego volcado, o sea, dos pasos, mientras q si la form esta a doublebuffer solo se haria un unico bitmap total en memoria de todo lo que se tiene q mostrar y luego, volcado (espero haberme explicado, aqui es tarde
). Venga saludos. |
|
#3
|
||||
|
||||
|
Cita:
![]() |
|
#4
|
|||
|
|||
|
1.- Form1.doublebuffered := true; TBitmap.doublebuffered := true -> 1 unico bitmap creado en memoria (de toda la form + TBitmap) y volcado a pantalla.
2.- Form1.doublebuffered := false;TBitmap.doublebuffered := true; -> TBitmap se dibuja en memoria y se vuelca a su zona correspondiente de pantalla, Form1 (excepto el trozo de TBitmap) se dibuja directamente en pantalla. Hay posibilidad de flickering segun como sea Form1 (si tarda mucho en dibujarse, habra retardo entre repintados) (1) es mejor; los dos doublebuffered, no son redundantes (como mucho, el de TBitmap). saludos. |
|
#5
|
|||
|
|||
|
(*) donde pone TBitmap, lee TImage. Es la TImage donde se mueven las fichas del principio...saludos.
|
|
#6
|
|||
|
|||
|
MUCHAS GRACIAS A TODOS!!! finalmente pude lograr implementar el double buffer y que las cosas funcionen corractamente. Nuevamente GRACIAS!
|
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Dibujando líneas en Canvas | JAV | Gráficos | 1 | 27-09-2007 15:56:05 |
| Dibujando en un TListView | pepon386 | Gráficos | 1 | 20-01-2006 09:36:28 |
| Dibujando en capas | blueicaro | Gráficos | 1 | 26-04-2005 09:46:02 |
| Canvas does not allow drawing | MADV01 | Impresión | 1 | 02-04-2004 15:08:43 |
| Canvas???? | craven | Gráficos | 2 | 17-05-2003 13:26:02 |
|