Speicher läuft voll bei QPainter Benutzung
Verfasst: 8. September 2008 12:38
Hallo Leute!
Ich habe folgendes Problem. In einer Methode, die in meiner Applikation mehrmals aufgerufen wird, werden Ellipsen in eine QPixmap gezeichnet. Für jeden Aufruf der Methode werden 3 zusätzliche Megabyte im RAM gefressen. Durch Debugging weiß ich, dass folgendes Codestück, genauer gesagt der QPainter, dafür verantwortlich ist.
QPainter p;
p.begin(imgPmp);
QPen pen;
pen.setWidth(5);
pen.setColor(this->currentColor);
p.setPen(pen);
p.drawEllipse(featureX-10,featureY-10,20,20);
p.end();
Wenn dieses Codestück weglasse (nur rechenen und nichts zeichnen) wird kein zusätzlicher Speicher gefressen. Ich habe schon versucht Painter und Pen dynamisch anzulegen und den Speicher nach Benutzung freizugeben, aber auch das hilft nicht weiter.
Hat jemand eine Idee was das Volllaufen des Speichers verursacht und wie ich das Vermeiden kann und trotzdem meine Funktionalität behalte?
Danke im Vorraus und viele Grüße!
Ich habe folgendes Problem. In einer Methode, die in meiner Applikation mehrmals aufgerufen wird, werden Ellipsen in eine QPixmap gezeichnet. Für jeden Aufruf der Methode werden 3 zusätzliche Megabyte im RAM gefressen. Durch Debugging weiß ich, dass folgendes Codestück, genauer gesagt der QPainter, dafür verantwortlich ist.
QPainter p;
p.begin(imgPmp);
QPen pen;
pen.setWidth(5);
pen.setColor(this->currentColor);
p.setPen(pen);
p.drawEllipse(featureX-10,featureY-10,20,20);
p.end();
Wenn dieses Codestück weglasse (nur rechenen und nichts zeichnen) wird kein zusätzlicher Speicher gefressen. Ich habe schon versucht Painter und Pen dynamisch anzulegen und den Speicher nach Benutzung freizugeben, aber auch das hilft nicht weiter.
Hat jemand eine Idee was das Volllaufen des Speichers verursacht und wie ich das Vermeiden kann und trotzdem meine Funktionalität behalte?
Danke im Vorraus und viele Grüße!