NukeBoards - Kreatywność przede wszystkim
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  DownloadDownload
RejestracjaRejestracja  ZalogujZaloguj

Odpowiedz do tematu
Poprzedni temat :: Następny temat
Duże pliki zapisu z edytora map
Autor Wiadomość
wisnia_pc 
Sierżant


Główny edytor: Fusion 2.5 Dev
Pojedynki: nie
Pomógł: 5 razy
Posty: 128

2356 Prestiż
Wysłany: 06-05-2017, 16:51   

problem rozwiązany okazało się ze mam błąd w kodzie, który zapisywał w pętli wartość do wszystkich komórek, miałem system zabezpieczeń map, który powodował błąd. Teraz mapa 20kx20k z 3k obiektów zajmuje 16 MB, jak dam kompresje systemową to jest 500kb. Mapa wczytuje się szybko zaledwie trwa to 1-2s
_________________
Prawdopodobnie najbardziej zaawansowany RTS jaki powstaje w klikach.
 
     
Minty 
Stwórczyni
omc dr fizyki


Główny edytor: Fusion 2.5 Dev
Drugi edytor: Construct
Pojedynki: być może
Pomogła: 259 razy
Posty: 3447

33795 Prestiż
Wysłany: 06-05-2017, 16:51   

3k obiektów. to 9k zmiennych w układzie x,y,wartość. W porównaniu do 400 milionów zmiennych, które się zapiszą, gdy położysz jeden obiekt na ostatniej pozycji (20k,20k). 9k zmiennych powinno zająć 36 kB. Bez kompresji. Jak w ogóle wczytujesz toto? Puszczasz pętlę po 400 milionach elementów? W ogóle 16 MB sugeruje 4 miliony, czyli mapę 2k*2k.
 
     
wisnia_pc 
Sierżant


Główny edytor: Fusion 2.5 Dev
Pojedynki: nie
Pomógł: 5 razy
Posty: 128

2356 Prestiż
Wysłany: 06-05-2017, 16:51   

wczytywanie http://i.imgur.com/R9CBqTv.png zapis http://i.imgur.com/a1d8pmO.png
Sne może jakiś przykład jak masz lepszy pomysł :)
_________________
Prawdopodobnie najbardziej zaawansowany RTS jaki powstaje w klikach.
 
     
msg 
Pupogłowy
~~~~~~~~~~~


Główny edytor: KNP
Drugi edytor: KNP
Pomógł: 76 razy
Posty: 1412

40082 Prestiż
Wysłany: 06-05-2017, 16:51   

Wysłałeś 2x ten sam obrazek ;) Ale wygląda na dokładnie to, czego chcieliśmy ci powiedzieć, żebyś uniknął , czyli zapisywanie w pozycji arraya zgodnej z X i Y obiektu. Zrób z tego LISTĘ obiektów zapisanych w arrayu, gdzie kolejne kolumny to będzie ID_obiektu, X, Y, typ obiektu (dżewo czy cuś), kierunek, inne cuda, a kolejne wiersze to kolejne obiekty.
_________________
:razzugly:
 
     
wisnia_pc 
Sierżant


Główny edytor: Fusion 2.5 Dev
Pojedynki: nie
Pomógł: 5 razy
Posty: 128

2356 Prestiż
Wysłany: 06-05-2017, 16:51   

no tak tylko jak to przerobić może jakiś przykład prosty
_________________
Prawdopodobnie najbardziej zaawansowany RTS jaki powstaje w klikach.
 
     
msg 
Pupogłowy
~~~~~~~~~~~


Główny edytor: KNP
Drugi edytor: KNP
Pomógł: 76 razy
Posty: 1412

40082 Prestiż
Wysłany: 06-05-2017, 16:51   

Przykład? Zrób od nowa te zdarzenie :)
Pomagaliśmy dokładnie z tym Herriosowi ostatnio, zagadaj, może ma jakieś materiały, które wykorzystywał wtedy.
_________________
:razzugly:
 
     
Minty 
Stwórczyni
omc dr fizyki


Główny edytor: Fusion 2.5 Dev
Drugi edytor: Construct
Pojedynki: być może
Pomogła: 259 razy
Posty: 3447

33795 Prestiż
Wysłany: 06-05-2017, 16:51   

msg, ID niepotrzebny, bo to po prostu pozycja w arrayu.
wisnia_pc, jak to przerobić? Proste... robisz dokładnie to, co masz, ale do "kierunek", "kolor" itp. dodajesz elementy "pozycjax" i "pozycjay". Zamiast zapisywać na elemencie o pozycji x,y - zapisujesz na pozycji n, i wtedy ustawiasz n=n+1. Odczyt - zamiast lecieć pętlą po pozycji x,y w arrayu po prostu czytasz kolejne elementy o pozycji LoopIndex. Potrzebujesz też dodatkowego zdarzenia, gdy typ=0 › przerwij pętlę. W tym przykładzie oznacza to brak obiektu, koniec listy.
Jako, że masz 3 wymiary: x, y oraz v (wymiar parametrów obiektu), a ten ostatni ma jakieś 11 elementów (?), to ostatecznie potrzebujesz tablicy x, v; x o wymiarze dowolnym, bo sam będzie się kurczył, a v o wymiarze 11+2 (stare parametry + pozycja x oraz y).
Adresowanie się uprości i w sumie wszystko powinno być szybsze, mniejsze, prostsze.

Zakładam 11 elementów wymiaru v, bo http://i.imgur.com/laACzWP.png - chyba, że to jakiś znacznik "tu jest coś zapisane", którego nie używasz, bo używasz widzę parametru "kolor" (tak jak ja opisałam z parametrem "typ" - nie ma różnicy). Nie ma po co zapisywać na v(10), skoro wiesz na 100%, że v(0) > 0 oznacza, że coś tam jest.
 
     
wisnia_pc 
Sierżant


Główny edytor: Fusion 2.5 Dev
Pojedynki: nie
Pomógł: 5 razy
Posty: 128

2356 Prestiż
Wysłany: 06-05-2017, 16:51   

tak teraz po usunięciu akcji v(10) jest mniejszy plik o połowę
_________________
Prawdopodobnie najbardziej zaawansowany RTS jaki powstaje w klikach.
 
     
Minty 
Stwórczyni
omc dr fizyki


Główny edytor: Fusion 2.5 Dev
Drugi edytor: Construct
Pojedynki: być może
Pomogła: 259 razy
Posty: 3447

33795 Prestiż
Wysłany: 06-05-2017, 16:51   

Nom. Bo z 11 wymiarów robi się 5.
Policzysz dokładnie rozmiar pliku i wyjdzie 5/11 pierwotnego, prawda?
 
     
wisnia_pc 
Sierżant


Główny edytor: Fusion 2.5 Dev
Pojedynki: nie
Pomógł: 5 razy
Posty: 128

2356 Prestiż
Wysłany: 06-05-2017, 16:51   

czyli każda dodatkowa opcja to większy plik
_________________
Prawdopodobnie najbardziej zaawansowany RTS jaki powstaje w klikach.
 
     
Minty 
Stwórczyni
omc dr fizyki


Główny edytor: Fusion 2.5 Dev
Drugi edytor: Construct
Pojedynki: być może
Pomogła: 259 razy
Posty: 3447

33795 Prestiż
Wysłany: 06-05-2017, 16:51   

Każda zapisana opcja, tak. Że zapisałeś v(10), to zapisuje też pomiędzy tym a v(4).

Jedyny problem, to że przy tym rozwiązaniu, które bardzo polecamy, nie ma takiej prostej obsługi duplikatów. To można rozwiązać, jeśli w sumie tego potrzebujesz, już w edytorze.
Chyba najlepsza opcja, to przy kładzeniu obiektu w edytorze puszczasz pętlę jak wczytywanie, ale sprawdza po prostu, czy istnieje już obiekt zapisany na pozycji, gdzie kładziesz. Wtedy nie musisz martwić się o przypadkowy zapis 2 obiektów w 1 miejscu, bo nawet ich nie położysz.
 
     
wisnia_pc 
Sierżant


Główny edytor: Fusion 2.5 Dev
Pojedynki: nie
Pomógł: 5 razy
Posty: 128

2356 Prestiż
Wysłany: 06-05-2017, 16:52   

ok pokombinuje i dam znac co wyszło. ja nie mam pojęcia jak zapisywać do listy w array muszę poszukać
 
     
Minty 
Stwórczyni
omc dr fizyki


Główny edytor: Fusion 2.5 Dev
Drugi edytor: Construct
Pojedynki: być może
Pomogła: 259 razy
Posty: 3447

33795 Prestiż
Wysłany: 06-05-2017, 16:52   

No zamiast współrzędnych x,y,v podajesz x,v. Array 2D zamiast 3D.

W ogóle dziwię się, czemu nie założysz z tym tematu, byłoby prościej i w ogóle.
 
     
wisnia_pc 
Sierżant


Główny edytor: Fusion 2.5 Dev
Pojedynki: nie
Pomógł: 5 razy
Posty: 128

2356 Prestiż
Wysłany: 07-05-2017, 13:41   

Mój edytor opiera się na tym przykładzie Link jak to przerobić na listę, żeby można było zachować w liście Array kilka wartości dodatkowych oprócz pozycji XY też kolor, kształt, kierunek itp. Teraz jest to tablica 3D.


Postanowiłem zrezygnować z dodatkowej wartości kolor, która jest a raczej była potrzebna do przechowywania parametru koloru tekstury. Nawet gdy tekstura była w standardowym kolorze to i tak był zapis w array, przy czym nawet jak postawiłem inny obiekt jak tekstury to i tak wartość musiała być przypisana co zwiększało znacznie rozmiar pliku. Teraz rozmiar mapy 20k x 20k z 3k obiektami zajmuje 4Mb, więc nie jest tragicznie. Co nie zmienia faktu że muszę dodać kolory tekstur inną metodą oczywiście już wiem jak to zrobić. Ale chętnie bym poznał zapis do listy jak ktoś coś wykombinuje.
_________________
Prawdopodobnie najbardziej zaawansowany RTS jaki powstaje w klikach.
 
     
Minty 
Stwórczyni
omc dr fizyki


Główny edytor: Fusion 2.5 Dev
Drugi edytor: Construct
Pojedynki: być może
Pomogła: 259 razy
Posty: 3447

33795 Prestiż
Wysłany: 08-05-2017, 16:12   

Zapis do listy to zapis do przestrzeni 3D, jak teraz masz, tylko jedna współrzędna jest ucięta. Są tylko rowki i pozbywasz się kolumn. Naprawdę, większość już masz.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

PSK Cytaty Klikibaza - kopia wszystkich klików Klikipedia - encyklopedia o tworzeniu gier Discord KlikCzat Zaproszenie Wielkie Muzeum Klikowe

Powered by phpBB modified by Przemo © 2003 phpBB Group