Program się po pewnym czasie wysypuje.
Ostatnio zmodyfikowano 2011-12-10 11:24
piotreczek5 Temat założony przez niniejszego użytkownika |
» 2011-12-10 10:08:10 W zacytowanym fragmencie nie zwalniam kontekstu, ponieważ wymagałoby to więcej operacji przez program. Zwalniam go natomiast pod koniec obsługi komunikatu WM_PAINT. Chyba mój program ma humory bo teraz o dziwo można pracować bez szwanku :) |
|
xevuel |
» 2011-12-10 10:39:44 O przepraszam, w WM_PAINT wcale nie zwalniasz tego kontekstu, owszem, zwalniasz hdc, ale jest ono pobrane tym: hdc = BeginPaint( panel_srodkowy, & ps ); , więc wskazuje zupełnie na co innego, a hdc w WM_MOUSEMOVE zostaje nie zwolnione. Nie mam pewności że mam rację ze wskazaniem kluczowego fragmentu, ale przynajmniej sprawdź, czy po mojej pomocy działa...
Chyba mój program ma humory bo teraz o dziwo można pracować bez szwanku :)
|
To zależy od pamięci komputera. Jeśli wcześniej miałeś uruchomione więcej programów, to się nie dziw, że twój program miał mniej pamięci do wykorzystania.
Pozatym sprawdź teraz to co powiedział DejaVu:
Sprawdź czy zużycie pamięci przypadkiem stale nie rośnie w menedżerze zadań.
|
|
|
piotreczek5 Temat założony przez niniejszego użytkownika |
» 2011-12-10 10:55:17 Faktycznie nie zwalniałem. Akurat spoglądałem na WM_PAINT masz rację nie zwalniałem. A co do tej pamięci to bez przesady 3MB to chyba nie tak dużo jak na program :)
Na pytanie DeJavu już odpowiedziałem. |
|
xevuel |
» 2011-12-10 10:58:58 Owszem, 3MB to nie dużo, ale mi chodzi czy TERAZ po poruszaniu myszą ta pamięć nagle nie rośnie, bo jeśli tak to trzeba zwolnić jeszcze coś. |
|
piotreczek5 Temat założony przez niniejszego użytkownika |
» 2011-12-10 11:13:23 Gdy poruszam w obszarze klienta nadal samoistnie zapotrzebowanie na pamięć rośnie. To chyba coś w MOUSEMOVE w takim razie. Lecz gdy umiesczę obiekt do odrysowywania już pamięć się zwalnia i program działa w miarę dobrze. |
|
xevuel |
» 2011-12-10 11:24:27 Hmm... Ja tam więcej nic nie widzę, pozostaje komentowanie kodu... |
|
1 « 2 » |