QGraphicsView, Speicherbedarf und was mach ich falsch ?
Verfasst: 5. Februar 2009 21:11
Hi Folks,
ich habe folgendes Problem, welches sich hoffentlich recht einfach an dem Qt-Beispiel examples\graphicsview\collidingmice nachvollziehen lässt.
modifiziert man da den Code aus der main.cpp, Zeile 67
exemplarisch zu
und fuehrt es aus, steigt der Speicherkonsum stetig. Wenn ich die Doku richtig lese, müssten sowohl scene.removeItem( mouse ) und delete mouse als auch scene.clear das Item mouse entfenren und restlos löschen. Es bleibt aber immer ein Rest nicht freigegebener Speicher. Mache ich irgendwas falsch, muss man noch an einer weiteren Stellen ansetzen?
Weder in der Forensuche noch sonstwo hab ich einen Lösungsansatz finden können, Debug-Versuche haben mich auch nicht wirklich weitergebracht.
Kompiliert wurde qt und das Beispiel mit vs2008 Prof, auf nem 32bit XP Prof.
EDIT: wahrscheinlich wäre noch hilfreich zu sagen, dass ich bis jetzt 4.4.0 und 4.4.3 getestet habe.
vielen Dank!
Gruss
ich habe folgendes Problem, welches sich hoffentlich recht einfach an dem Qt-Beispiel examples\graphicsview\collidingmice nachvollziehen lässt.
modifiziert man da den Code aus der main.cpp, Zeile 67
Code: Alles auswählen
for (int i = 0; i < MouseCount; ++i) {
Mouse *mouse = new Mouse;
mouse->setPos(::sin((i * 6.28) / MouseCount) * 200,
::cos((i * 6.28) / MouseCount) * 200);
scene.addItem( mouse );
}
Code: Alles auswählen
for( int j = 0; j < 1000000; j++ ) {
for (int i = 0; i < MouseCount; ++i) {
Mouse *mouse = new Mouse;
mouse->setPos(::sin((i * 6.28) / MouseCount) * 200,
::cos((i * 6.28) / MouseCount) * 200);
scene.addItem( mouse );
scene.removeItem( mouse );
delete mouse;
}
scene.clear();
}
Weder in der Forensuche noch sonstwo hab ich einen Lösungsansatz finden können, Debug-Versuche haben mich auch nicht wirklich weitergebracht.
Kompiliert wurde qt und das Beispiel mit vs2008 Prof, auf nem 32bit XP Prof.
EDIT: wahrscheinlich wäre noch hilfreich zu sagen, dass ich bis jetzt 4.4.0 und 4.4.3 getestet habe.
vielen Dank!
Gruss