Skocz do zawartości

Jak zwiększyć wydajność gry?


Rekomendowane odpowiedzi

Jak w tytule. Przy rysowaniu 64 jednostek, gra zwalnia o połowę. Robię RTS tak dla jasności. Czy surface'y mogą pomóc w tym problemie? Jeśli tak to w jaki sposób? Bo ja stosując je obiekcie Player (głównym obiekcie) i Unit (przykładowej jednostce) to gra spowalnia jeszcze bardziej.

Odnośnik do komentarza
Udostępnij na innych stronach

Dezaktywuj tylko nieruchome obiekty, bo jak zdezaktywujesz np idącą falę wroga to pojawi się ona tylko gdy będą w viewie. A i to nie zda egzaminu gdy po drodze są przeszkody które ma pokonać wędrująca jednostka. Co zatem? Zamiast mp_potential_step użyj mp_grid. Ruchomym jednostkom możesz odznaczać visible gdy są poza viewem.

Odnośnik do komentarza
Udostępnij na innych stronach

View mam na razie wielkości mojego moniora 1440/900 ale to będzie do zmiany w opcjach(menu jeszcze nie zrobiłem), a room jest wiadomo większy niż view. Z tym motywem dezaktywacji obiektów nieruchomych zobaczę. Kod lub cały projekt zamieszczę po 16, bo teraz siędzę w sql. Wiem na pewno, że rysowanie hp i zaznaczenia jednostki zmiejsza wydajność (robię prosto na draw_line_color i draw_point_color). Może jeśli dodam "mgłę wojny" to zwiększę wydajność?

 

@edit

A może na surface rysować obiekty, które są nieruchome? I jeśli się obiekt poruszy to surface odświeża? Chyba, że to błędne myślenie? Mistrzem surface'ów nie jestem. ;p

Odnośnik do komentarza
Udostępnij na innych stronach

Co do nie potrzebnych rzeczy graficznych to myślałem, że albo na backgroundzie albo na surface. Ale wracając do kodu:

 

Projekt

 

W pliku jest kod dla tych którzy muszą widzieć kod. Plik waży jakieś 18KB. Czarne kółko sprite'a to tylko próbna grafika. Grafik w teamie odpowiedzialny za sprite'y robi grafę tylko gdy dany obiekt (dla którego jest grafa) jest skończony.

 

Mam też trudność z narysowaniem zaznaczenia jednostek (prostokąta) w sensie, że nie wiem jak zrobić x1 i y1 bo x2=mouse_x a y2=mouse_y. Tu też prosiłbym o pomoc.

 

@edit

A właśnie usunąłem połowę jednostek, żeby zobaczyć jak będzie więc tam jest tylko 32 jednostki.

 

ps. Zielone kółko pod sprite'm to jest hp tak dla jasności.

 

@edit2

Pomyłka ta czerwona kreska to hp. Zapomniałem, że zmieniłem hp do 0.1, bo im mniej hp to gra również płynniej chodzi.

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