Quest235234 schrieb:
Die "dwm.exe" - "Desktopfenster-Manager", steigt auf gut bis zu 20% CPU Auslastung hoch & alle Fenster fangen beim Bewegen an zu hängen.
hustbaer schrieb:
@Quest235234
Vielleicht machst du irgendwas was der Desktop Window Manager nicht mag. Zeichnest du vielleicht in ein Fenster das nicht dir gehört?
Du kannst mal ausprobieren ob der Performance-Hit auch gleich schlimm ist, wenn du Aero ausschaltest. Falls es da deutlich weniger schlimm ist, liegt es vermutlich daran.
Probier das was ich geschrieben habe.
Probier folgende Änderung (ist nur ein Schuss ins Blaue, k.A. ob das was bringt):
// case WM_PAINT:
// VOR BeginPaint Back-Buffer neu zeichnen
/* Back Buffer Clear - hTransparent ( TRANSPARENT COLOR OF WINDOW ) */
RECT Rect;
SetRect( &Rect , 0 , 0 , g_BackBuffer.uSizeX , g_BackBuffer.uSizeY );
FillRect( g_BackBuffer.hDC , &Rect , hTransparent );
Rendering();
// BeginPaint erst nachdem der Back-Buffer komplett gezeichnet wurde
PAINTSTRUCT PaintStruct;
HDC hPaintDC = BeginPaint( hWnd , &PaintStruct );
BitBlt( hPaintDC , 0 , 0 , g_BackBuffer.uSizeX , g_BackBuffer.uSizeY , g_BackBuffer.hDC , 0 , 0 , SRCCOPY );
EndPaint( hWnd , &PaintStruct );
Zeig den Code her mit dem du den DC und die Bitmap für den Back-Buffer erzeugst.