WM_PAINT
-
hat sich dein problem jetzt erledigt?
-
GetRight läuft bei mir im Hintergrund immer mit, ist besser so :).
cya
-
hat sich leider nix geändert. das Prog hat eine Prozessorausnutzung von 100% - und ich weiß nicht warum
-
Wieso, ist doch gut so... wenn es als einziges Programm läuft, kann es doch ruhig eine Auslastung von 100% haben, stell dir mal vor, der Prozessor wäre immer nur zu 50% ausgelastet.. das wär ja Verschwendung!
cya
-
aber das Prog dürfte im Normalzustand nicht mehr Auslastung als das Wordpad haben.
ich mach ja da nun auch wieder nicht so sehr vielcYa
DjR
-
man, kannst du nicht einfach immer ein bisschen mehr code rausnehmen, und gucken ob es dann irgendwann verschwindet? nimm doch einfach von WM_PAINT mal ganz raus und guck ob es dann immer noch dauernd gesendet wird. wenn nicht, dann tust du eben den quellcode wieder dazu bist du den fehler hast. stell dich doch ned so an
-
smiley: bei meinen geistigen Verrenkungen in Letzter Zeit (nicht wegen diesem Programm *gg*) komme ich scheinbar nicht mehr auf die simpelsten Sachen. Ich meld mich abernochmal, wenn das nicht funzt *gg*
-
so, ausprobiert: sowie WM_PAINT da steht (auch wenn nix drin ist) verbrät das System die komplette Rechenzeit
warum kann ich aber nicht sagen
- ich würd einfach raten, dass die Message ständig von irgendwoher gesendet wird.
irgendwelche Ideen? der Quellcode liegt dem Prog bei. (entwickelt mit dem DevCpp-Paket)
-
Schrieb doch einfach mal Begin- und EndPaint rein, wie es sich für eine Windowsanwendung gehört. Wenns dann nicht geht reden wir weiter.
-
Hmm.. okay
aber verstehen tu ich das noch nicht so ganz - naja, bin kein Win32-Profi.
Wenn ich in GL arbeite, wozu brauche ich dann die Begin- und EndPaint - Anweisungen?
-
Mach doch einfach eine Funktion z.B. Zeichnen(); in der du alle deine OGL-Zeichenaktivitäten machst. Diese Funktion kannst du dann aufrufen, wenn es neu gezeichnet werden soll, anstatt immer InvalidateRect aufzurufen, um ein neuzeichnen zu erzwingen. Im WM_PAINT-Zweig rufst du nur diese Funktion auf und gibst aber nicht 0 zurück, sondern rufst DefWndProc(...); auf.
So sollte es dann gehen.
-
hmm.. sollte eigentlich auch schneller sein - wenn ich mich nicht irre.. geht ja dann auch direkt in die Funktion und nicht erst übers Windows.
Ich werd mal schauen.