hohe CPU-Last wenn WM_PAINT leer?



  • Nabend,

    ich habe da mal eine Frage bezüglich WM_PAINT Nachrichtenbehandlung.

    Ich habe ein stinknormales Standardfenster erzeugt und in der WindowsProzedur einmal mit BeginPaint und EndPaint das WM_PAINT Event korrekt abgearbeitet. Wenn ich aber kein BeginPaint und Enpaint nutze und damit alles leer lassen dann steigt die CPU-Last der Anwendung ziemlich in Höhe. Bei mir auf 50% bei DualCore CPU.

    Woran liegt das, an der nicht korrekten Behandlung von WM_PAINT? Kann das wer genau erklären?

    Danke



  • Das liegt daran das durch BeginPaint()/EndPaint() markiert wird, dass das Fenster sich neugezeichnet hat.
    Fehlt das, weiss Windows nicht das du das Fenster neugezeichnet hast und sendet daher ununterbrochen weiter WM_PAINT-Nachrichten an dein Fenster.



  • Super dankeschön, nun kann ich nachher beruhigt schlafen. 😃


Anmelden zum Antworten