Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Page 1 of 2 12 LastLast
Results 1 to 10 of 17

Thread: C++ Programm zu hohe CPU auslastung

  1. #1
    Join Date
    19.08.2007
    Posts
    202
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen.

    Ich habe hier ein wirklich tolles Programm zur Verwaltung von Musik-Alben.
    Das Programm funktioniert auch wunderbar. Das einzige Problem ist die CPU Auslastung ist ständig sehr hoch! Auch wenn ich nichts mache in der Anwendung.
    Irgendwas am Quellcode stimmt nicht. Ich weiß leider nicht weiter!
    evtl. hat jemand von euch eine Idee warum die CPU-Auslastung immer so hoch ist und wie ich es minimieren kann.
    Ich hab euch mal das Hauptprogramm als .txt angehängt.
    Bin für jede Idee offen.

    main.txt
    Reply With Quote Reply With Quote C++ Programm zu hohe CPU auslastung  

  2. #2
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    13,806
    Danke
    746
    Erhielt 3,127 Danke für 2,231 Beiträge

    Default

    Das Einzige, was mir sofort auffällt, daß da OpenGL initialisiert wird. Ja nachdem, wie das verwendet wird, kann da schon die Last steigen, besonders falls das von der Haupt-CPU erledigt werden muß.

    PS:
    Ich seh grad, das Ganze Teil, also die Oberfläche etc. basiert auf OpenGL. Na ja ich kann nur sagen, wenn unter Win mit DirectX rumgeproggt habe, dann ging die Systemlast auch immer fleißig nach oben. Die Scene (hier die Oberfläche) wird ja so oder so ständig neu berechnet. Wenn dann die Grafikkarte nicht unterstützt und das emuliert wird (so jedenfalls bei DirektX) dann kann das schon gut sein.
    Last edited by Ralle; 10.12.2008 at 21:10.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    Join Date
    27.10.2005
    Location
    Schwäbisch Gmünd
    Posts
    5,629
    Danke
    698
    Erhielt 996 Danke für 809 Beiträge

    Default

    Was passiert in glutMainLoop?
    Rainer Hönle
    DELTA LOGIC GmbH

    Die Kritik an anderen hat noch niemandem die eigene Leistung erspart (Noël Coward)

  4. #4
    demmy86 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    19.08.2007
    Posts
    202
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    Hi

    Danke schon mal!
    also Ralle hast du einen Vorschlag wie man das geschickter Lösen könnte?
    Wäre eine in directX programmierte Oberfläche die Lösung?
    wegen der glutMainLoop schau ich gleich mal nach.

    gruß
    Last edited by demmy86; 11.12.2008 at 16:53.

  5. #5
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    13,806
    Danke
    746
    Erhielt 3,127 Danke für 2,231 Beiträge

    Default

    Eine Frage wäre, ob die eingesetzte Grafikkarte und besonders die Treiber OpenGL, also Hardwarebeschleunigung unterstützen. Denn eigentlich soll ja bei OpenGL, genau wie bei DirektX die Grafikkarte die Rechenintensive Arbeit, wie 3D-Darstellung und Rendern der Oberfläche erledigen. Aber mit OpenGL hab ich mich bisher nur am Rande befaßt, um es mal unter Win mit Delphi zu testen. Was ich hier kundtue ist also mehr Halbwissen.

    Wenn meine Vermutung stimmt, gibt es 2, vielleicht 3 Möglichkeiten.

    1. Schnelle Grafikkarte mit Hardwarebeschleunigung und den richtigen Treiber.
    2. Die Oberfläche von unnötigem 3D-Kram etc. befreien.

    3. Das Rendern der 3D-Oberfläche läuft ja in einer Endlos-Schleife ab (glutMainLoop????) Wenn man in dieser Schleife vielleicht eine Wartezeit einbaut, wird die Oberfläche evtl. nicht mehr so schnell aktualisiert, aber die Last der CPU könnte dadurch sinken.

    Du könntest testweise bestimmte Dinge aus der Oberfläche auskommentieren und mal testen, ob die Last sinkt. Kann aber auch sein, daß das Rendern dann mehr Frames/Sekunde bringt, die Last aber bleibt.
    Evtl. gibt es Einstellungen für OpenGL, welche den Anteil des Prozesses an der CPU-Rechenzeit einschränken?
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  6. #6
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    Quote Originally Posted by Ralle View Post
    2. Die Oberfläche von unnötigem 3D-Kram etc. befreien.
    ist die schönste lösung!
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #7
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    13,806
    Danke
    746
    Erhielt 3,127 Danke für 2,231 Beiträge

    Default

    Quote Originally Posted by vierlagig View Post
    ist die schönste lösung!
    Das Problem ist, das die gesamte Oberfläche auf OpenGL beruht.
    Probieren würde ich das aber ganz sicher mal.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  8. #8
    Join Date
    27.10.2005
    Location
    Schwäbisch Gmünd
    Posts
    5,629
    Danke
    698
    Erhielt 996 Danke für 809 Beiträge

    Default

    Ich glaube nicht, dass der Grafik-Schnick-Schnack die eigentliche Ursache der hohen CPU-Last ist. Die heutigen Rechner müssen das abkönnen, egal ob mit oder ohne Beschleuniger-Grafikkarte. Erhöhte Last ja, aber nicht sehr hohe Last (was bedeutet dies eigentlich in Prozent? Wo liegt die hohe Last?) Ich tippe eher auf den Programmteil, der noch nicht eingestellt ist.
    Rainer Hönle
    DELTA LOGIC GmbH

    Die Kritik an anderen hat noch niemandem die eigene Leistung erspart (Noël Coward)

  9. #9
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    13,806
    Danke
    746
    Erhielt 3,127 Danke für 2,231 Beiträge

    Default

    @rainer
    Yep da kannste Recht haben, aber wer weiß, was demmy86 da als Linuxmöhre "mißbraucht", bei mir waren das meißt irgendwelche ausgemusterten Gurken.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  10. #10
    demmy86 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    19.08.2007
    Posts
    202
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    meine Linux möhre is ein 1,2GHz Rechner mit ner VIA/S3G UniChrome Pro II IGP Grafikkarte!
    Die Grafikkarte läuft mit DirektX ich schau grad ma ob sie auch OpenGL ab kann!
    Also nix besonderes lol
    Also wie gesagt er läd die Oberfläche und ich kann alles im Programm machen nur eben etwas langsamer da die CPU immer zu 100% ausgelastet ist!
    Und es läuft Windows XP Home.
    die anderen teile stell ich gleich mal ein!

Similar Threads

  1. häufige Zeitberechnung, hohe CPU Auslastung
    By Minehunter in forum CODESYS und IEC61131
    Replies: 20
    Last Post: 02.03.2016, 18:18
  2. MP370: CPU-Auslastung anzeigen
    By PeterEF in forum HMI
    Replies: 4
    Last Post: 30.04.2013, 16:47
  3. Replies: 4
    Last Post: 12.12.2011, 16:44
  4. BK9050 zu hohe Netzwerk Auslastung?
    By daniel1987 in forum CODESYS und IEC61131
    Replies: 4
    Last Post: 05.09.2011, 07:44
  5. CA01 10/2009 -> Hohe CPU Auslastung
    By rs-plc-aa in forum PC- und Netzwerktechnik
    Replies: 8
    Last Post: 17.12.2009, 17:14

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •