Para los buenos diseñadores. !!!!!Miren esto!!!!!

Master
15 de Junio del 2004
Amigos estoy haciendo una aplicacion en C++ builder. Y para la entrega me requieren que debe gastar menos de 10 MB de RAM cuando se este corriendo la aplicacion. Porque por ejemplo existen programas que podriamos pensar que en tiempo de ejecucion gastan una gran cantidad de memoria RAM un ejemplo de esto el propio C++ Builder y sin embargo cuando uno analiza el gasto que llevan en memoria solo gastan unos 9 o 10 MB de RAM y asi otros programas. Mi aplicacion que por supuesto es mucho mas sencilla sin embargo gasta en rtiempo de ejecucion casi 15 MB de RAM y todavia no esta terminada. Por favor diganme como hacer para que el gasto de memoria en tiempo de ejecucion sea mucho menor. saludos Master.

Timerman
15 de Junio del 2004
Por ahi tienes una gran cantid de variables que
podrias usar como temporales declaradas como
globales, igual me parece excesivo 15Mb mas porque dices que la app es sencilla.

Timerman
15 de Junio del 2004
Que tipo de aplicacion es la que hiciste???

Master
15 de Junio del 2004
Una aplicacion para window en c++ builder

Mariano Ventaja
15 de Junio del 2004
Estas liberando bien los objetos GDI?

Estas usando code-guard? Tal vez te detecte muchos leaks de memoria ...

Saludos,
Mariano http://www.c0d3rz.com.ar

Master
15 de Junio del 2004
No entendi muy bien de lo que me hablas. Aclarame un eso compadre, que de veras me hace falta.
Saludos master

Mariano Ventaja
15 de Junio del 2004
Project>>Options>>CodeGuard y seleccioná todos, si hay problemas de memoria te va a avisar con ventanas. Tenes que compilar de nuevo.

En el Task Manager,View>>Select Columns, GDI Objects. Si estos suben mucho durante la aplicación es probable que no estes liberando recursos que son muy importantes.

Por ejemplo cada vez que haces un SelectObject tenes que guardar el resultado de la función para volver a aplicarle ese resultado con la función SelectObject cuando termines de utilizar el HDC.

Si haces un CreateBrushIndirect por ejemplo tenes que hacer un DeleteObject, casi todos los objetos de la GDI (en realidad creo que todos) tienen su función para ser eliminados.

Saludos,
Mariano http://www.c0d3rz.com.ar