Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   aplicacion de 150Mb memoria (https://www.clubdelphi.com/foros/showthread.php?t=63394)

reivaj_bo 12-02-2009 00:10:52

aplicacion de 150Mb memoria
 
Holas, llevo muy poco progamando en delphi7, el problema a mi parecer es que me parece demasiado espacio q ocupa en memoria la apliacion. Doy detalles de lo q involucra la apliacion
trabajo con zeos (mysql5),suipack,sweetcontrols,fastreport,treeview menu,
un componenete para utilizar webcam, librerias para biometrico.

Porfavor alguno de ustedes savios en aplicaciones delphi ayudenme, porque quisiera saber si es algo q hice mal y por lo cual ocupa tanto espacio en memoria.

gracias...

cHackAll 12-02-2009 01:15:19

Hola reivaj_bo, bienvenido.

Como van las aplicaciones en JAVA y .NET sumado a los bajos precios de las DIMMs solo puedo decirte que esos 150 Mb. serán insignificantes.

PD; intenta deshabilitar y rehabilitar funciones globales de tu sistema a ver donde estas provocando posibles MemoryLeaks.

Saludos

Casimiro Notevi 12-02-2009 01:52:53

¿imágenes, fotos, etc. enormes?

duilioisola 12-02-2009 08:50:53

Guardas reportes en los .dfm?
Deberías guardarlos fuera, si son muchos o muy pesados.

Cuando ocupe el exe?

No estará guardando cosas en memoria grabadas por la webcam?

Neftali [Germán.Estévez] 12-02-2009 10:07:07

¿Cuantos formularios tienes?
¿Los creas al inicio o los creas/destruyes cuando los necesitas?
¿Cuanto te ocupan en disco los DFM's -danos algun dato-?
¿Cuanto ocupa el ejecutable?
¿Utilizas componentes de Base de Datos? ¿Cuales utilizas -Tables/Querys-? ¿Utilizas TClientDatasets?
¿Ese tamaño es al inicio o a medida que la aplicación va trabajando va creciendo?
...

Intenta dar más datos, sino es difícil ayudarte. :(:(

reivaj_bo 16-02-2009 13:59:50

1. son 27 formularios
2. todos se crean al inicio
3. todos los dfm ocupan 7.70Mb.
4. 8.434 kb.
5. me conecto al Mysql via zeos tengo al rededor de unso 20 dataset
6. es al inicio

duilioisola 16-02-2009 14:45:53

Ahí lo tienes...
Cita:

1. son 27 formularios
3. todos los dfm ocupan 7.70Mb.
Supongo que tienes 27 formularios llenos de imágenes, informes u otras cosas que podrías dejar fuera.
Los .dfm normalmente ocupan de unos pocos Kb a 100 o 200 Kb

Por ejemplo. Si tienes un componente TImage, puedes cargarlo desde un archivo externo y no tenerlo dentro del .dfm
Algo así como TImage.LoadFromFile(NombreFichero);

Neftali [Germán.Estévez] 16-02-2009 16:35:43

Cita:

Empezado por reivaj_bo (Mensaje 338248)
1. son 27 formularios
2. todos se crean al inicio
3. todos los dfm ocupan 7.70Mb.
4. 8.434 kb.
5. me conecto al Mysql via zeos tengo al rededor de unso 20 dataset
6. es al inicio

1. Es un buen número.
2. Si no es necesario no deberías crearlos al inicio, ya que gastas recursos y tiempo. Crealos cuando los necesites y dstrúyelos cuando hayas finalizado con ellos.
3. Demasiado para simples formulario. Supongo que debes tener imágenes o componentes que guarden datos. Deberías explicar qué contienen esos forms; Ese puede ser el problema. Si estás repitiendo la imágenes deberías utilizar recursos externos. ¿Has utilizado herencia?
4. Correcto.
5. No debería afectar al tamaño.
6. Posiblemente por el peso de los formualrios y porque los creas todos al inicio.

reivaj_bo 17-02-2009 20:22:25

la mayoria de los formularios son para tomar datos, los que creo q deben pesar son con los cuales muestro fotos desde mi base de datos, talvez el capturador de imagenes por la webcam, y uso los componentes del suipack skin, para poder cambiar la apariencia de mis ventanas.

Gracias, voy a intentar en crear y destruid los forms.

Neftali [Germán.Estévez] 17-02-2009 23:16:46

Ves a las opciones del proyecto y elimina los formularios de la sección de AutoCreate forms.
Cuando los necesites, llama al constructor, en lugar de llamar directamente al Show.

Revisa el tema de los skins; revisa el DFM (con un editor de texto) a ver qué es lo que ocupa ese espacio. Si estás utilizando SKINS, hay paquetes que permiten guardar el skin en el formulario (DFM), pero eso se hace una vez (en el form principal, por ejemplo) no en todos los formularios.

defcon1_es 18-02-2009 13:30:25

Cita:

Empezado por reivaj_bo (Mensaje 338467)
la mayoria de los formularios son para tomar datos, los que creo q deben pesar son con los cuales muestro fotos desde mi base de datos, talvez el capturador de imagenes por la webcam, y uso los componentes del suipack skin, para poder cambiar la apariencia de mis ventanas.

Gracias, voy a intentar en crear y destruid los forms.


Precisamente son esos componentes SuiPack los que hacen que tus *.dfm ocupen tanto,
porque "incrustan" en ellos las imágenes prediseñadas de los componentes de tu formulario en cada formulario.

En la empresa donde trabajo, los compramos (porque se empeñó mi jefe) pero los tuvimos que dejar de usar porque los exes crecían desmesuradamente, y compramos los VCLSkin, que redibujan los componentes (que elijas, no tienen por que ser todos los del formulario) en tiempo de ejecución.

reivaj_bo 20-02-2009 00:09:20

estoy utilizando este codigo para poder crear y liberar:
/////////////////
var
Alumnos : TAlumnos;

begin
Alumnos := TAlumnos.Create(Application); { Creamos la Form }
Try
Alumnos.Edit2.Text:='';
Alumnos.ShowModal; { La hacemos visible }
Finally
Alumnos.Free; { Liberamos la memoria, pase lo que pase }
End;
end;
////////
, pero me sale un error de :
///////
Cannot make a visible window modal.
??????
no entiendo pq no se puede ver el formulario

Casimiro Notevi 20-02-2009 12:17:07

Cita:

Empezado por reivaj_bo (Mensaje 338803)
[..]
///////
Cannot make a visible window modal.
??????
no entiendo pq no se puede ver el formulario

Seguramente está la propiedad 'visible' a true, ponla a false.

Neftali [Germán.Estévez] 11-03-2009 16:18:12

Cita:

Empezado por reivaj_bo (Mensaje 338248)
3. todos los dfm ocupan 7.70Mb.

¿Exactamente qué es lo que ocupa 7.7Mb? ¿El DFM?
Eso es un problema.
Deberías saber exactamente qué es lo que está generando ese tamaño. Haz la prueba de eliminar componentes del formulario e ir grabándolo hasta que sepas qué es lo que te está provocando ese incremento. Un DFM normal con bastantes controles no debería pasar de 100kb (por decir un número).
Otra opción es abrir el DFM con un editor sde texto y ver qué parte es la que ocupa esa cantidad de espacio.

MAXIUM 11-03-2009 17:13:53

Cita:

Empezado por cHackAll (Mensaje 337851)
Como van las aplicaciones en JAVA y .NET sumado a los bajos precios de las DIMMs solo puedo decirte que esos 150 Mb. serán insignificantes.

Conozco empresa miserables donde los equipos solo tiene 256MB con memoria compartida a Video y Windows XP. Aun así 150MB en lo personal es mucho, sino pregunta por las criticas de Firefox que en su última versión bordea entre 140MB y 200MB.

cHackAll 12-03-2009 01:47:14

Cita:

Empezado por MAXIUM (Mensaje 340998)
Conozco empresa miserables donde los equipos solo tiene 256MB con memoria compartida a Video y Windows XP. Aun así 150MB en lo personal es mucho, sino pregunta por las criticas de Firefox que en su última versión bordea entre 140MB y 200MB.

Ese problema de Firefox lo viví en ordenadores con las características que nombras, sin embargo estoy conciente que los avances tecnológicos nos están llevando a un mundo de aplicaciones gigantes y ni si quiera lo notamos.

Recuerdo hace una decada que me convenía ahorrar hasta el ultimo Kb. de memoria usada porque mi memoria Convencional usable era de 600 Kb. +/- (descontando la utilizada por io, himem, mouse, ndos, etc.)... que tiempos aquellos. Cuando llego Güindos gradualmente todo se disparo por los cielos con aplicaciones como la que nombras... pero "y qué?" si ahora una DIMM de 2Gb. cuesta alrededor de 25 $us. y tan solo el Vista te consume 700 Mb. de ellos?

Esa fue mi logica amigo MAXIUM, (tambien mi desacuerdo tecnico a esos lenguajes) y porque muy probablemente despues de otros 30 posts habremos ayudado a reducir tan solo 50 Mb. de la aplicacion de reivaj_bo

:rolleyes:

reivaj_bo 12-03-2009 20:32:09

una vez, quite los formularios para q no se crearan automaticamente y los coloque de nuevo, hay formularios q aparecen al iniciar la aplicacion, me explico:
el primero formulario en aparecer es el de acceso a la base de datos
ahora aparece 1º el formulario de busqueda de usuarios y despues el de acceso a la base de datos

reivaj_bo 18-03-2009 23:50:10

he decidido ya no usar el suipack, por que ocupa demasiada memoria, y aora estoy usan el vcl skin, pero cuando quite el autocrear algunos formularios en las opciones del proyecto y los puse de nuevo, al iniciar aparecen ventanas como la de busqueda de usuario, alta de nuevo usuario antes de la del login para que pueda conectarse a la base de datos, y es algo que no pasaba hasta que lo quite del auto-create forms.

Neftali [Germán.Estévez] 19-03-2009 10:25:43

Revisa cómo tienen esas ventanas la propiedad Visible. Si hace falta colócala a False o elimínalos del AutoCreate.


La franja horaria es GMT +2. Ahora son las 17:34:27.

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