Jak są wczytywane/wyświetlane duże mapy w grach?
Ostatnio zmodyfikowano 2012-11-02 20:00
Kmicic Temat założony przez niniejszego użytkownika |
Jak są wczytywane/wyświetlane duże mapy w grach? » 2012-11-02 18:06:53 Nie wiem dokładnie jak to jest z wczytywaniem tła. Kiedyś pisałem na tym forum że mój program nie działa pod 1 rdzeniowymi komputerami, i wreszcie znalazłem przyczynę którą było tło. Tło to była bitmapa 4kx4k pikseli którą wczytywałem i umożliwiałem swobodne przemieszczanie się. Po zamianie tego tła na bitmapę 1kx1k i przesuwaniu jej razem z graczem sprawiło OKROPNY efekt jakby obiekty pływały po ziemi. Wiele gier przecież ładuje ogromne mapki i nie stwarza to żadnego problemu. Mam więc pytanie, jak wczytać taką dużą mapkę ? |
|
SeaMonster131 |
» 2012-11-02 18:16:08 Wiele gier przecież ładuje ogromne mapki |
W grach 2D? Raczej spotkałem się z tym, że ogromne mapki tworzone są z kafelków, a nie jednej wielkiej bitmapy :) |
|
Kmicic Temat założony przez niniejszego użytkownika |
» 2012-11-02 18:23:29 I wczytywanie 6400 kafli jest bardziej wydajne niż wczytywanie 1 bitmapy w pętli na okrągło ? |
|
SeaMonster131 |
» 2012-11-02 18:25:16 I wczytywanie 6400 kafli jest bardziej wydajne niż wczytywanie 1 bitmapy w pętli na okrągło ? |
Żadnej bitmapy nie wczytuje się w pętli, bo wtedy są lagi przez rosnące zużycie procesora, pamięci. |
|
Kmicic Temat założony przez niniejszego użytkownika |
» 2012-11-02 18:27:27 No więc wyświetlanie 6400 kafli jest wydajniejsze od 1 dużej bitmapy ? |
|
Savail |
» 2012-11-02 18:29:19 Najczęściej jest tak, że wyświetlasz tylko tyle kafli ile dany gracz jest w stanie aktualnie zobaczyć a to już zależy od ustawień/współrzędnych twojej kamery itp |
|
m4tx |
» 2012-11-02 18:32:04 No więc wyświetlanie 6400 kafli jest wydajniejsze od 1 dużej bitmapy ? |
Tak. Zobacz sobie np. na gry 3D. Tam masz miliardy trójkątów wyświetlane jednocześnie :P A poza tym nie chodzi o wyświetlanie 1 dużej bitmapy, a jej wczytywanie.Dobra, nieważne. Im dłużej czytam ten temat tym bardziej nie rozumiem o co chodzi :P Najczęściej jest tak, że wyświetlasz tylko tyle kafli ile dany gracz jest w stanie aktualnie zobaczyć a to już zależy od ustawień/współrzędnych twojej kamery itp |
Ano właśnie. Jeśli jeszcze tego nie zrobiłeś - zrób tak, żeby renderowane były tylko widoczne kafle. Da Ci to ogromny wzrost wydajności :) |
|
ison |
» 2012-11-02 20:00:24 No więc wyświetlanie 6400 kafli jest wydajniejsze od 1 dużej bitmapy ?
|
Wydajniejsze nie będzie aczkolwiek ważniejsze jest chyba to żeby w ogóle działało a nie żeby działało szybko, prawda? ;) Bitmapa 4000 x 4000 to 64 MB zajętego miejsca na karcie graficznej, jeśli chcesz zrobić dużą mapę to buduj ją mądrze, w bitmapach możesz trzymać jedynie te elementy, które się często powtarzają i układać w odpowiednich miejscach podczas działania aplikacji. Nikt nie trzyma całych map jako jedną wielką bitmapę. |
|
« 1 » |