Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

przechowywanie tylko widocznej części mapy

Ostatnio zmodyfikowano 2014-04-18 18:19
Autor Wiadomość
qest43
Temat założony przez niniejszego użytkownika
przechowywanie tylko widocznej części mapy
» 2014-04-18 16:59:50
Mam problem z optymalizacją, mianowicie nie wiem jak przechowywać w pamięci, w tablicy tylko tę część mapy wczytywanej z pliku, by była to tylko ta widoczna.
P-108335
MrPoxipol
» 2014-04-18 17:01:20
Dynamicznie ładuj mapę i usuwaj kiedy już nie jest potrzebna.
P-108336
pekfos
» 2014-04-18 17:38:47
Po co taka optymalizacja? Pamięci obecnie jest dużo, a mapa zwykle wiele nie zajmuje. Jeśli jest inaczej, to albo powinieneś szukać optymalizacji pamięci w formacie mapy, lub dzielić mapę na części i ładować po kilka.
P-108341
qest43
Temat założony przez niniejszego użytkownika
» 2014-04-18 17:49:21
A no dlatego, ze obecnie działa to tak, pobieram długość i szerokość mapy, np. 1000 na 1000. Przepuszczam przez pętle for tablicę VECTORów, 1000x1000 razy. Jest to vector typu jeden z klas, więc zajmuje dużo miejsca w pamięci, przy mapie wielkości 5000x5000 program już się zawiesza, jest to przecież 25000000 elementów w pamięci. Strasznie dużo to pamięci zajmuję, i wydaje mi się, że w grach inaczej się takie mapy wczytuję.
P-108342
pekfos
» 2014-04-18 18:19:11
Podziel mapę na małe części. Np 512x512 (256kB na każdy bajt zajmowany przez jednostkę mapy). Wtedy możesz załadować np obszar 3x3 złożony z takich fragmentów, gdzie gracz jest w środkowym. Gdy przechodzi do jednego z 8 załadowanych (i pokonuje pewien dystans), tworzysz nowe 3x3, usuwając część poprzednich i kilka nowych fragmentów. W ten sposób nie ładujesz nie wiadomo jak często nie wiadomo jakich ilości danych z dysku (który jest wolny).
P-108343
« 1 »
  Strona 1 z 1