Tenía unos problemas de consumo de memoria continuo en mi juego. Al final he llegado a esto:
#include <sstream>
int main(int argc, _TCHAR* argv[])
{
while( true ) {
std::stringstream keySS;
}
return 0;
}
Uhm. Si lo ejecuto se pone a comer memoria como un loco. Cosa que no sucede con otras clases (como string). ¿Alguna sugerencia y/o comentario? (¿aparte de usar un static? :))
<edit>
Bug? (http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=98861)
<edit2> Y otra pregunta mejor es, ¿por qué no lo detecta el Visual Leak Detector?
No deberias declarar la variable fuera del while??? Ten en cuenta el ambito, si la creas dentro del while, ese es su ambito, por lo q en cada vuelta tiene q crear y destruir el objeto. Aunque esto deberia dejar la memoria libre...es raro...
Cita de: "shephiroth"No deberias declarar la variable fuera del while??? Ten en cuenta el ambito, si la creas dentro del while, ese es su ambito, por lo q en cada vuelta tiene q crear y destruir el objeto. Aunque esto deberia dejar la memoria libre...es raro...
Hombre, he llegado a ese main pasa aislar el problema. En realidad es:
// Pseudo
while ( juegoCorriendo ) {
Logica()
Render()
}
:)
Me parece excesivo declarar todas las variables locales a los métodos de casi todo el juego fuera del while del main. Si fuera una fast compo, a lo mejor :D
<edit>
CitarThis memory leak has been fixed in Service Pack 1, which was release to the public in December 2006. As well as installing the entire Service Pack (over 400MB) on your development machine, you will also have to install the updated VC8 distributable runtime libraries on any machine that your program run ons.
Ale, a actualizar se ha dicho.