Skocz do zawartości

Co lepsze, ustalanie koloru z góry czy w komendzie?


Rekomendowane odpowiedzi

j/w

 

 

Optymalniej jest zrobić tak:

 

GML
draw_circle_color(x,y,3,c_red,c_red,0)

 

czy

 

GML
draw_set_color(c_red)

draw_circle(x,y,3,0)

draw_set_color(c_white)

 

W pierwszej funkcji kolor jest podwójny, w drugiej nie ma kolorów, ale za to zmienia się on dwa razy..

 

Proszę o pomoc, wiem, że pytanie głupie, ale zależy mi na optymalizacji i wywalam co się da.

Narazie udało mi się uzyskać 1500 obiektów bez spadku fpsów, ale nie są komputery lepsze i gorsze, więc wole OPTYMALIZOWAĆ! :D

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki wszystkim! :)

 

A wielkość kulki wpływa na wydajność?

Np. jeśli circle ma promień 60 to gra chodzi wolniej niż gdyby miał 6? Alpha na pewno wpływa na wydajność, ale czy wielkość?

 

Jest też w GMie możliwość usunięcia niepotrzebnych zmiennych (image_index,sprite_index,image_angle,image_xscale,image_yscale)?

Na razie to wpadłem na pomysł, żeby zamiast tworzenia nowych zmiennych wpisywać istniejące.

Np. potrzebuje zmiennej a, która będzie miała wartość 1 i 0 no to używam image_angle itd. ;) Ale usunąć całkiem się nie da, nie?

Odnośnik do komentarza
Udostępnij na innych stronach

Wielkość koła nie wpływa na wydajność bo liczba wierzchołków się nie zmienia.

Rysowanie koła możesz zoptymalizować funkcją draw_circle_precision zmniejszając ilość wierzchołków ( im mniejsze chcesz wyświetlić koło tym mniejszą precyzję możesz ustawić )

 

Np. potrzebuje zmiennej a, która będzie miała wartość 1 i 0 no to używam image_angle

To zły pomysł bo zmieniając wartość image_angle obracasz także maskę obiektu

Odnośnik do komentarza
Udostępnij na innych stronach

A o tym, że zmienia się maska to nie wiedziałem ;)

Ale dzięki, u mnie i tak nic to nie zmienia, bo maska kolizji jest okrągła w prawie wszystkich obiektach, którem chcem zoptymalizować :)

 

I dzięki za draw_circle_precision :)

Pozdrawiam..

 

Edit:

Ojj...

Nie działa na 8.0. Coraz bardziej zastanawiam się nad kupnem GMa, ale cena mnie odstrasza :S

Odnośnik do komentarza
Udostępnij na innych stronach

Ale ten dodatkowy obrót maski niepotrzebnie obciąża procka chciałeś optymalizacji a wychodzi wręcz przeciwnie. Dodatkowo direction i image_angle jest normalizowane ( przybiera wartości od 0 - 360 )

 

Po za tym nie widzę sensu w powstrzymywaniu się od tworzenia własnych zmiennych bo w ten sposób zaoszczędzasz małą ilość pamięci. O ile się nie mylę to 64 bity na każdą zmienną.

 

edit:

 

Sorry draw_set_circle_precision()

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