win32-Template 100% CPU-Last

Hallo Leute,

Ich habe ein kleines Win32-Template geschrieben, das als einfaches „getting started“ für Einsteiger/innen gemeint ist, und funzt ja auch alles.

Bloss macht es auch 100% CPU-Last (zeigt der Task-Manager von WIN2K an), und das auch noch, wenn der Timer abgestellt ist, das Programm macht *gar nichts*.

Ich kann probieren, was ich will, und die CPU-Last bleibt. Bei der Konsole komme ich mit „nichts tun“ gerade auf 30%. Es ist auch ganz egal, ob ich das mit VC6 oder MingW mache, es ist immer dasselbe. Bin für jeden Tipp dankbar, was man da noch machen kann.

Hier ist der Code:
http://members.aon.at/amando1957/C++/winPublic.cpp

lG
Martin

Bloss macht es auch 100% CPU-Last (zeigt der Task-Manager von
WIN2K an), und das auch noch, wenn der Timer abgestellt ist,
das Programm macht *gar nichts*.

Dein Programm macht schon was. Es durchläuft ständig und mit Vollgas eine Endlos-Schleife. Und da wunderst du dich, dass du 100% CPU Last hast??

**int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,   
 LPSTR lpCmdLine, int iCmdShow)   
{   
 [...]  
<u>while (1)</u>  
 {   
 [...Code ohne sleep() oder ähnliches...]  
 }  
 }**  

Hallo,

Es durchläuft ständig und mit Vollgas eine Endlos-Schleife. Und da :wunderst du dich, dass du 100% CPU Last hast??

OK, sehe ich ein. Ich habe jetzt die while-Schleife mit GetMessage() gemacht, so tritt das nicht mehr auf, :-].

Ich habe immer am PeekMessage() festgehalten, da ich ja nur so die Timer-Queue nutzen (WM_TIMER ist nicht so genau), und alternierend die Nachrichten abfragen kann.
Da muss ich mir für Animationen (Bildschirmschoner) halt etwas anderes einfallen lassen.

Danke für den Tipp.
lG
Martin B