Para los buenos diseñadores. !!!!!Miren esto!!!!!
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.
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.
podrias usar como temporales declaradas como
globales, igual me parece excesivo 15Mb mas porque dices que la app es sencilla.
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
Estas usando code-guard? Tal vez te detecte muchos leaks de memoria ...
Saludos,
Mariano http://www.c0d3rz.com.ar
No entendi muy bien de lo que me hablas. Aclarame un eso compadre, que de veras me hace falta.
Saludos master
Saludos master
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
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
