Child Ivalidate UpdateGeschwindigkeit langsam
-
Hallo,
ich habe ein über CWinApp erzeugtes Window, dieses wird in den Tray -Zustand gebracht, alle seine verbundenen Fenster (pParents) verschwinden dann mit dem MainWnd.
Beispiel eines der erzeugten Kinder:
CString classname(AfxRegisterWndClass(CS_OWNDC, 0, 0, 0)); if (!AfxGetApp()->m_pMainWnd->CreateEx(0, classname, "3DLiveView", WS_OVERLAPPEDWINDOW, CRect(10,10,1024,768), pWnd, 0)) return 0;
Das Main -Window ruft ständig (im über (pWnd) verbunden Window) eine Funktion auf, diese löst unter anderem Invalidate(true) aus.
Frage:
Warum wird das verbundene Fenster nur noch sehr langsam "invalidiert" ?
Wenn ich die Kopplung an das Owner -Fenster (parentWnd) mit 0 aufhebe, ist es wieder wesentlich schneller(5x).Es verschwindet zwar nicht mehr mit dem Hauptfenster in der Traybar, sondern landet erwartungsgemäß in der "Statusbar" Als "normal minimiert".
Warum ist das langsamer, wenn "es" Als via pParent am ge' trayten Window "hängt" ?
Kann ich das durch irgend einen class-style ausmerzen ?
(wenn ich dem Window nach dem Tray'en den Style WS_CHILD gebe , ist die update rate wieder normal)
Danke für Hinweise
Lg
K aus B.
-
CS_OWNDC? Ist das wirklich nötig.
Hängt schon davon ab ob DWM was damit zu tun hat...
Wo und wie testest Du?
-
Hi Martin,
Ich sehe gerade das ein Fenster das zwar mit pParent gekoppelt ist, aber ohne WM_CHILD in der "ge - trayten" MainApplication garnicht mehr invalidiert wird.
Danke für deine Hinweise
Grüß Karsten