Probleme, Speicher läuft voll



  • Hallo!

    Ich schreibe gerade ein einfachses Spiel, wobei ich WinSockets zur Netzwerkprogrammierung benutze. (1 Server- x clients)
    Abgesehen davon das der Speicher langsam vollläuft (die Clientseite) und daher irgendwann alles abschmiert läuft alles wunderbar- bis es soweit ist.
    Kann das an
    a) nicht abgerufenen IP-Packeten liegen, die sich stauen?
    b) nicht gehandelten WindowsMessages lieben, die sich stauen?
    c) benutzten ,,Device Contents'' liegen?
    Wie kann überprüfen was es ist bzw. kann man eines davon oder mehreres ausschließen? In meinen Feldern kann sowas nicht passieren, die werden alle statisch deklariert.
    Ich persönloch glaube(!) dass es an den ,,Device Contents'' liegt, weil beim Absturz die Grafik spinnt. Ohne hier zuviel quelltext zumuten zu wollen: ich benutze 2 DC's, hDCfenster und hDC2. am ende jedes frames wird mit

    hDCfenster = GetDC(hwnd);
    BitBlt(hDCfenster, 0, 0, 550, 550, hDC2, 0, 0, SRCCOPY);

    hDCfenster geupdatet, und wenn die windowsmessage WM_PAINT kommt mache ich

    hDCfenster = BeginPaint (hwnd, &ps);
    BitBlt(hDCfenster, 0, 0, 550, 550, hDC2, 0, 0, SRCCOPY);
    EndPaint (hwnd, &ps);

    //(deklarationen)
    HDC hDCfenster, hDC2;
    HWND hwnd;
    HBITMAP hBM;
    PAINTSTRUCT ps;
    RECT rect;

    Danke für tipps!



  • Nur mal so um sicher zu sein. Rufst du hierfür auch wieder ReleaseDC auf?

    hDCfenster = GetDC(hwnd);
    

    Wenn nicht könnte das ein Problem sein.

    Ansonsten kann ich da mit nem schnellen Blick nicht viel problematisches erkennen.

    BR
    Vinzenz



  • das wars! endlich!

    besten dank!


Anmelden zum Antworten