Seite 1 von 1

Hohe CPU-Load beim Ausführen des eigenen Programms

Verfasst: 23. August 2007 16:59
von blackdog
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 sehr merkwürdig, da wie gesagt, durch Starten des Programms über 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.
Ich bin mir allerdings auch gar nicht sicher, ob das wirklich ein Qt Problem ist...

Wenn nötig kann ich auch gerne Quellcode liefern, oder etwas zum Programm sagen, da ich z.B. eine Kamera anspreche und mir von ihr Bilder zur weiteren verarbeitung liefern lasse.

Gruß

Verfasst: 23. August 2007 17:04
von macman
Wenn Du aus VS irgendwas startest, hast Du eine ganz andere Umgebung, als wenn Du es von woanders startest. Dementsprechend können ganz andere DLLs zum Zuge kommen.

Verfasst: 23. August 2007 17:53
von blackdog
ja aber eigentlich müsste es mit VC doch irgendwie langsamer laufen, weil VC ja doch noch bissl was überwacht beim Ausführen, und dass es so viel langsamer ist, ist schon komisch.
Kann man irgendwie die dlls die VC benutzt mit in den Programmordner packen, sodass genau diese auch benutzt werden? Und welche sind das?
Und bringt das dann überhaupt was?
Oder kann man die dlls bzw. libs die VC benutzt statisch in die exe linken? Und bringt das was ?

Verfasst: 24. August 2007 07:27
von macman
VS kümmert sich nicht um irgendwelche Umgebungsvariablen. Wo es DLLs sucht, steht unter 'Extras/Optionen/Projekte und Projektmappen/C++-Verzeichnisse'. Welche DLLs dein Programm benötigt, kannst Du mit depends.exe heraus finden. Letzteres würde ich als erstes mal probieren, dann fällt vielleicht schon ein Fehler auf.