FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Dev Express baja el rendimiento
He probado los componentes Dev Express son muy vistosos y muy buenos sobre todo su cxQuantumGrid es muy buena pero disminuyen el rendimiento.
Por ejemplo tengo un sistema de 15 tablas arrrancaba bien rapido, luego decidi usar las grillas de devexpress cambie todas pero resulta que al abrir los archivos y cerrarlos demora mucho antes con los componentes de delphi demoraba de 1 a 2 segundos con los componentes dev express demora como 10 segundos a mas porque??. Estoy usando Delphi y MySQL 5.5, existe alguna forma de acelerar el rendimiento con los componentes dev express. |
#2
|
||||
|
||||
Claro que si. Por defecto, creo que los componentes cargan todo a memoria para que las ediciones y filtros hechos sobre el grid se hagan mas rapido.
Debes consultar la documentacion sobre el tema.
__________________
El malabarista. |
#3
|
|||
|
|||
Hola...
Así es, tal y como dice mamcx, este componente carga todos los datos en memoria de forma predeterminada, esto para poder usar sus características avanzadas, y si tus tablas tienen muchos datos, esto hará que el rendimiento baje un poco. Sigue el consejo que te da mamcx y busca en la ayuda. Saludos... |
#4
|
||||
|
||||
Confirmo lo dicho.
Los Grids de la Quantum tienen 2 modos de funcionamiento. Cada uno de ellos dependiendo del momento y de cómo lo uses es adecuado o no. Lo primero que debes hacer es modificar las propiedades del Grid para que funcione como los estandard de Delphi y entonces comparar. Desde el TableView/DataController/DataModeController/GridMode. Si miras la ayuda sobre esa propiedad verás que pone: //·································································································· Grid mode is automatically switched off when grouping is applied to a grid view. In this case (and also if the GridMode property value is False), the data controller switches to Load All Records mode. //··································································································
__________________
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. |
#5
|
||||
|
||||
Cabe aclarar, porque yo los acabo d comprar (bueno actualizar) para el delphi xe y si activas el modo grid como digo nefatli.
No funciona el autosort, autofilter y otras monadas que tiene automaicas. Si no estas en modo Grid carga toda la base de datos al Grid y de ahi ya no usa mas el dataset hasta que no hagas un requery o algo por el estilo. Saludos
__________________
OEsqueda |
#6
|
||||
|
||||
Adema´s de unirme a los comentarios d elos compañeros...a mi me queda sonando tu expresión: "tengo un sistema de 15 tablas arrrancaba bien rapido"... no se como tengas diseñado tu sistema, pero utilizas componentes TTable (de cualquier proveedor), ¿abres todas )o varias) las tablas al inciar tu sistema?...
Lo anterior lo digo, por que si tus respuestas son afirmativas, tendrías que replantear tu estrategia de apertura de tablas, pues en cualquier entorno y con cualquier componente, el tamaña de tus tablas será un problema tarde o temprano... Conozco un sistema que abre sus tablas para hacer busquedas "on-line" con FindKey y otras de estas funciones, pero esto deja de ser práctico cuando las tablas son muy grandes... Lo que suede es que con los recursos de hoy dia en ocasiones no lo notamos... Un saludo, |
#7
|
||||
|
||||
Completamente de acuerdo.
Debes de abrir a medida que usas, y de preferencia abrir con consultas para bajar el total d registros a usar. Claro depende que base de datos usas, pero abrir todas las tablas al principio, como crear todas las formas al principio es un suicidio a la larta.
__________________
OEsqueda |
#8
|
||||
|
||||
Gracias por responder
Estoy usando componentes Zeos 6.6.6 y mis tablas estan enlazadas a Query's y solo cargo los registros necesarios para cada query y no cargo toda la tabla fisica en si, se que con millones de registros se pondria lento el sistema. Hare la prueba como dijo Neftaly haber que resulta si vuelve el rendimiento vere si me quedo con esos componentes, que son muy buenos, yo uso los componentes standard de Delphi y algunos hechos por mi, pero estos de Dev Express son muy buenos sobre todo su QuantunGrid que es muy flexible para bases de datos. |
#9
|
||||
|
||||
Neftaly eres un crack gracias ya probe lo que decias y el rendimiento subio de gran manera ahora estan rapidas las DBgrid's de devexpress solo unas milesimas de segundo menos rapidas que los componentes standard de dephi, habra alguna propiedad mas que desactivar, para aumentar mas rendimiento?, bueno de todas maneras gracias por la ayuda.
|
#10
|
||||
|
||||
Ten en cuenta lo que ete han dicho otros compañeros sobre no abrir todas las tablas al arrancar la aplicación, sino hacerlo de forma progresiva cuando las vayas necesitando.
Es importante y es un gran consejo.
__________________
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. |
#11
|
||||
|
||||
Si si hay mas, esta la propiedad KeyFieldNames dentro de DataController que debe usar la llave principal de la tabla, con esto ayuda mas a acelerar, sobre todo si permites usar las propiedades de edicion del grid (Insertar, Editar y Borrar).
Y la que esta dentro de DataModeController SmartRefresh tambien en True
__________________
OEsqueda |
#12
|
||||
|
||||
Gracias a todos por responder.
He cambiado las grillas standard y las de scalabium por las quantumgrid salio todo bien, he visto que varios eventos han cambiado en las quantumgrid pero los reemplaze por esos nuevos eventos que tienen otros nombres, solo hay un evento que no he podido encontrar es el OnColExit. Saludos |
|
|
|