Skocz do zawartości

optymalizacja mapy


Hunter

Rekomendowane odpowiedzi

Witam, mam pytanie. Specjalnie na zamówienie stworzyłem strategiczną gre internetową przez przeglądarkę. Mój problem dotyczy mapy którą może oglądać gracz. Wyświetlanie mapy polega na wyciągnięciu danych z bazy i operacja na nich. Podgląd mapy to wyświetlenie w sumie 49 pól a co za tym idzie jednorazowo muszę wykonać 49 zapytań do bazy aby sprawdzić każdą pozycję. I tu pytanie dla pro PHP jest jakiś szybszy i optymalniejszy sposób na wyświetlanie takowej mapy? Operacja na plikach była by szybsza? Proszę o rady.

Odnośnik do komentarza
Udostępnij na innych stronach

W tym przypadku 100 % operacja na plikach. Takie coś jak przechowywanie plików, map itd. nie jest dla relacyjnych baz danych. Możesz się posiłkować NoSQL, ale to nie ma sensu raczej. Dla mnie, to powinno to wyglądać tak:

 

struktura serwera:

viewer_mapy.html

mapa.dat

viewer.js

 

Viewer_mapy to wiadomo, jakiś tam twój bajerancki szablon + podlinkowany viewer.js

 

viewer.js jest skryptem który ładuje mapę z serwera "plik mapa.dat". Ładuje twoją pozycję, i zarządza interakcją.

Odnośnik do komentarza
Udostępnij na innych stronach

Proxy? Czemu?

Ja bym to zrobił na zasadzie cache, chociaż ma to w sumie pewne wady, które jednak wykluczają ten sposób (Ale z obserwacji wnioskuję, że takie plemiona z tego korzystają - tj. cache aktualizowane podczas ważnych operacji (przejęcie wioski) a dodawanie punktów leci co np. 20 minut).

@1st: Dlaczego na 49 zapytań? Nie można po prostu jedno pytając: "Wskaż wszelkie obiekty od x, x2, y, y2"?

 

@EDIT: Jeśli skorzystałbyś z plików .dat, to pamiętaj, aby zabezpieczyć się przed wywołaniem ich przez przeglądarkę.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Widziałem kiedyś przykład czegoś takiego w necie. Googluj coś typu js rpg example. js step jakoś tak a znajdziesz . Ja też robiłem mapke ale na SQL tak jak ty i teraz nie chce mi się tego zmieniać, mapa w pliku rozwiązuje problem terenu, ale graczy z pliku nie pobierzesz heh. Tak wiec można 2 warstwy zrobić jedna JS a druga SQL .

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Relacyjna baza danych wcale nie jest tutaj przekreślona, jak to napisał Kofel. To wszystko zależy od specyfikacji mapy. Jeśli nie będzie zawierać bardzo dużych ilości danych, to spokojnie uciągnie. Trzeba mieć tylko dobry sprzęt i dobrze zrobione tabele. Przede wszystkim zainteresowałbym się się postgresql'owymi typami i funkcjami geometrycznymi oraz postgisem.

 

Osobiście nie operowałbym na plikach, tylko zbudował aplikację usługową - takie nosql na potrzeby projekty, które by zarządzało całą mapą w pamięci ram + zrzuty do plików. Do tego odpowiednie metody geometryczne w zapytaniach.

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ę...