Skocz do zawartości

Pamięć, memory


Kartofelek

Rekomendowane odpowiedzi

Robię gierkę. Po wczytaniu kilku wavów, kilku spritów sam exe rozrósł się do wielkość > 20mb, a po uruchomieniu to coś zjada ponad 130Mb ^^

Zrozumiałbym gdyby to było największe dzieło świata, ale to graficznie jest gorsze od Alien Breeda (nie mam zamiaru nawet równać się z tym mistrzem), a przecież tamten działał na 4Mb.

Pytanie więc jakie są metody by jakoś ograniczyć zjadanie pamięci?

Narazie mam tak:

- Wieszkosc rzeczy jest wczytywana bez preload (chyba ze naprawde tyci tyci rzeczy)

- Titlesow jest narazie 1160, ale bedzie wiecej =(

- są animowane gify - narazie z 20, z czego jesten to animacja ponad 100 klatkowa. Mial byc i drugi o wiele dluzszy, ale to juz nie mialo sensu (kompilacja trwala ok 1min). Tych animacji nie chciał bym sie pozbywac. Pierwsza wprowadzajaca pewnie zrobie jako avi czy cos i dam ala splash_show_video, ale druga to jest juz czescia levela i szkoda bylo by ja tracic ^^

- dzwiek to tylko wav

 

Szukalem na forum, ale doczytalm tylko o sprite_delete() i sound_delete(), ale nie wiem czy jest sens to stosowac, bo do danych roomow bedzie sie wracalo (np room z glownym menu, gameOver itp).

Odnośnik do komentarza
Udostępnij na innych stronach

W takim razie musisz zrezygnowac z trzymania duzych zasobow w execu i dynamicznie je ladowac z pliku, wtedy gdy beda potrzebne, a po uzyciu kasowac z pamieci.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Przeprowadzaliśmy z Borkiem testy tworząc silnik do nowej gry i jak niektórzy wiedzą, Almora zjadała czasem nawet ponad 1GB ramu, tymczasem po optymalizacji kodu i wczytywaniu oraz kasowaniu zasobów, czy odtwarzania muzyki za pomocą DLLa tak, aby GM jej nie wczytywał, ograniczyliśmy zużycie w testowej wersji do jakichś 30MB, a mimo to mapy wyglądały tak samo. Co prawda obcięliśmy w testach GUI czy przeciwników, ale załóżmy, że stanowią oni 50% to i tak 60MB a 1024MB to o 95% więcej! Oczywiście nie przy każdej grze musi być aż taki skok, ale wczytywanie zasobów z dysku i kasowanie ich, oraz wyłączanie nieaktywnych obszarów na planszach, przyspiesza grę.

Odnośnik do komentarza
Udostępnij na innych stronach

Też myślałem o wczytywaniu zewnętrznym plików, tylko nie mam pojęcia jak to robić. Gdzie można się dowiedzieć na ten temat? Może jakiś przykład czy coś podobnego? Właśnie bawiłem się w optymalizację gifów więc często gęsto z 255 kolorów bez zbytecznej utraty uzyskiwałem 16-32 ^^

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...