Hohe CPU-Load beim Ausführen des eigenen Programms

Bl@ckD0G

Lieutenant
Registriert
Nov. 2002
Beiträge
730
Hi, hab folgendes unerklärliches Problem:

Wenn ich meinen Quellcode in MS VC++ 2005 compiliere und starte (release Version) läuft alles super, schnell und gut so wie es sein soll.

Wenn ich jetzt aber das VC++ 2005 schließe und die exe direkt aus dem release Order im Projektverzeichnis starte, ist die CPU-Load bei manchen Funktion auf 90%++ und das Programm reagiert sehr träge bis gar nicht mehr.

Das ist halt sehr merkwürdig, da wie gesagt, durch Starten in VC++ 2005 läuft alles super.

Hat jemand ne Idee woran das liegen könnte?

Ich entwickle auf Windows XP Sp2 und dem MSVS Professional 2005 in C++ und benutze Qt 4.2.1 für meine Oberfläche.

Kurz zum Programm:

Das Programm ließt Live-Bilder von einer Kamera ein, diese wird im Programm beim starten erstmal initialisiert und zeigt diese an.
Es wird ein Live-Histogramm und ein Live- Zeilenprofil berechnet und geplotet.
Darüber hinaus wird auch ein Median der Bilddaten aus einer gewissen ROI bestimmt.

Die Berechnungen wie Median, Zeilenprofil und Histogramm erfolgen aber nur bei jedem 15. Bild, um die CPU nicht zu überlasten.

Es gibt verschiedene Anzeigemodie und genau bei 2 von diesen tritt dann die hohe CPU-Load auf, nämlich beim s.g. ThreshOperator, als Binarisierung des Bildes.
Und beim Log-Operator, der eine logaritmische Grauwerttransformation für jedes Pixel durchführt. Die Anzeigemodes werden aber auf jedes ankommende Bild angewendet, ~60Bilder / s bei einer Auflösung von 320*256 und 14Bit.

Hoffe der kleine Einblick ins Programm kann bei der Lösung helfen.
 
Ein kleines Archiv mit dem Projekt würde den Einblick sicher noch weiter verbessern... ;)
 
das würde bei dir eh nicht laufen, ohne die entsprechenden Treiber und die Kamera.
Wenn du bestimmte Ideen hast woran es prinzipiell liegen könnte, kann ich Codeausschnitte bereitstellen aber das ganze Projekt nicht, da es doch recht umfangreich ist.
 
Zurück
Oben