FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Optimizar velocidad de creacion objetos tpanel
Hola a todos,
Tengo desarrollada una clase que me permite crear de forma dinamica una representacion grafica mediante objetos tpanel. A esta clase le paso como parametro un dataset y en funcion de unos datos crea dinamicamente esta representacion. Utilizo el tpanel porque tiene las caracteristicas de disponer ya los eventos onclick y algun otro que utilizo por cada objeto creado. Esta representacion grafica utiliza unos 2000-3000 objectos tpanel de unas dimensiones muy pequeñas (9x9) Y el principal problema lo tengo en la creacion de los objetos pues tarda mucho tiempo. Entorno a unos 20-30 o mas segundos. Lo cual no es nada aceptable cuando un usuario abre dicha pantalla.
__________________
Saludos, Bitman |
#2
|
||||
|
||||
Tal vez la idea está bien para pocos objetos, pero está visto que para un número grande la cosa se desmadra.
Creo que debes ir hacia componentes específicos de dibujo, tipo TSimpleGraph, del que ya he hablado otras veces aquí. Te lo digo por experiencia, ya que lo he utilizado bastante y con muchos objetos. Aquí hace tiempo hablé de él y coloqué algunas imágenes (Imagen 1 y Imagen 2) donde puedes ver la cantidad de objetos que se definen (en el caso de explanadas, pueden llegar a 7000). Este componente ya te permite realizar multitud de operaciones con lo elementos que añades; Ya poseen eventos, y operaciones de zoom, pan, impresión, exportación...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Disculpar que me quede a medias ayer con la explicación.
Esta clase que comentaba una vez crea todos estos objetos y estan visibles, normalmente ocupan mas espacio que el tamaño del formulario y por eso activo las barras de desplazamiento del mismo. La cuestion es que una vez creado lo gestiona correctamente, es decir que si por ejemplo cambio de formulario y vuelvo al que tiene esta grafica lo repinta en un tiempo un tiempo aceptable (1s). Por lo que el problema solo esta en la creación dinamica de los objetos. Un detalle mas es que no puedo tener creada la grafica de antemanos pues va en funcion de la que seleccione el usuario. La pregunta es, como podria optimizar esto usuando quizas otro componente de la VCL o quizas tendre que crearme yo mi propio tpanel mas optimizado... Como ya comentaba utilice el tpanel porque utilizo un par de eventos de los que soporta (dbclick y el que detecta cuando esta el raton sobre el componente) por lo que con un componente exclusivamente grafico como el tshape creo que no me serviria. Muchas gracias!
__________________
Saludos, Bitman |
#4
|
|||
|
|||
Vaya Neftali te me has adelantado
Muchas gracias por la respuesta. Es muy similar lo que prentedo realizar a las imagenes que tu pones. Mirare este componente que comentas parece bastante potente. es freeware verdad?
__________________
Saludos, Bitman |
#5
|
||||
|
||||
Deberías mirar antes que nada si el problema está en crear los paneles o en calcular la gráfica que va dentro del panel.
Haz la prueba de comentar la operación que haces con el DataSet y mira cuanto tarda. |
#6
|
||||
|
||||
Cita:
Todos los demás detalles en DelphiArea.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#7
|
|||
|
|||
duilioisola:
No hay ningun tiempo de calculo, es solo en crear los miles de objectos en los que tarda en crearlo. La grafica en si son los tpanel de tamaño muy pequeño. algo parecido a la imagen que puso Neftali. Gracias igualmente. Neftali: Muchas gracias por la respuesta. Tengo que probar a deribar mi clase de la TSimpleGraph. Saludos,
__________________
Saludos, Bitman |
#8
|
||||
|
||||
He hecho una pequeña prueba:
Luego con más tiempo podrás buscar una mejor solución. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Crear instancias de objetos creados con TPanel | Kandorf | OOP | 8 | 02-03-2010 08:43:56 |
LLamar procedimiento de creación de Objetos. | Robin1 | Varios | 3 | 30-11-2009 14:04:54 |
creacion objetos | MOCOSO07 | Varios | 4 | 04-04-2008 22:35:04 |
Optimizar velocidad delphi con access | diego torres | Conexión con bases de datos | 2 | 10-10-2005 16:13:00 |
optimizar velocidad de SQL's | wonder boy | Conexión con bases de datos | 0 | 13-09-2005 16:09:36 |
|