Skocz do zawartości

Spadek FPS po zmianie roomu


Rekomendowane odpowiedzi

Dodałem menu początkowe przed pierwszym etapie w grze.Sam etap fps 60/60 - jeżeli uruchomię go jako pierwszy element w grze - ale jeżeli pierwszym elementem gry jest menu z którego rozpocznę dopiero etap to będzie wtedy o 20 fps mniej(cały czas nie tuż po przejsciu)..

Room z menu to tylko 1background i kilka napisów...

Co z tym zrobić?

Odnośnik do komentarza
Udostępnij na innych stronach

czy jakimś cudem, jakiś obiekt w menu ma może ustawioną opcję 'persistent'?

Odnośnik do komentarza
Udostępnij na innych stronach

To pierwsze co sprawdzałem,nic nie jest persistent :/

 

Sprawdzałem z przejściem z innych room - tylko po przejsciu z menu jest drastyczne spowolnienie, nawet jak go wyczyszczę całkowicie i zostawie tylko "new game"

 

Co ciekawe "połączenie" funkcjonuje tylko pomiędzy room_menu i room1 .Przejście z menu do room2 nic nie zmienia w fps- a z koleji przejście z menu do room2 a potem z room2 do

room1 daje znów efekt -20fps.

 

 

Edit:

 

Po dokładnym śledztwie (usuwałem po koleji wszystko z room1 i sprawdzałem jak to wtedy działa) okazało się że winowajcą jest pewien background.Tylko że nie rozumiem powodu przez który tak się dzieje...

 

Jeżeli room1 od razu śmiga 60fps bez chwili zająknięcia, jeżeli wczęsniej będzie menu to zwolni- ale pod warunkiem że ten background będzie włączony...

Fakt że gra jest fatalnie zoptymalizowana (albo raczej w ogóle nie jest) i tekstury są sporo za duże- ale czy to nie wychodziło by na prędkości od razu, a nie po przejściu z innego roomu( i to tylko tego) zresztą problem dotyczy tylko tej tekstury, inne backgroundy wykorzystują równie duże i nic się nie dzieje..

Odnośnik do komentarza
Udostępnij na innych stronach

Proste, background ciągle pozostaje w pamięci. Im jest ich więcej tym gorzej dla gry.

 

Zrób draw_texture_flush() gdzieś w room1, porównaj i zacznij w końcu bardziej zastanawiać się nad tymi grafikami.

Odnośnik do komentarza
Udostępnij na innych stronach

Gdzie dokładnie wstawić ten texture_flush() , wstawiałem w evencie draw, create,step obiektu w room1 , próbowałem w room_menu, w akcji tuż przed zmianą pokoju.Niestety brak jakiegokolwiek efektu, nawet 1fps lepiej nie jest..

Następnie spróbowałem zrobić osobny texture group dla tekstur room_menu - ale to tylko pogorszyło sprawę bo utworzyło nowy texture page...

Odnośnik do komentarza
Udostępnij na innych stronach

Powinieneś wykonać go raz, bo to powoduje że wszystkie texture pages zostają zwolnione i od razu potrzebne są wczytane. Używanie w step spowalnia jeszcze bardziej.

 

Otwórz debuger wybierz profiler i zobacz co spowalnia grę.

Odnośnik do komentarza
Udostępnij na innych stronach

Cały dzień siedziałem nad rozwiązaniem tego problemu,który w zasadzie paraliżował całkowicie projekt, nic nie pomagało,żadna próba nie przyniosła nawet najmniejszej korzyści(poza usunięciem części tekstur- po czym gra traciła 90% wyglądu).

 

Rozwiązanie okazało się przedziwne- może ktoś kiedyś będzie miał podobny problem więc opiszę (przy okazji może ktoś doświadczony wyjaśni dlaczego to pomogło bo dla mnie to czary)

 

Jak wspominałem wielokrotnie w podanej kolejności gra gwałtownie traciła 1/3 fps i już nie wracała do "formy"

1.Room_menu (opcje początkowe start ,load,exit z )

2.Room_1 - pierwsza mapa gry

 

Kiedy uruchomiłem od razu Room_1 gra hasała na 60fps- nawet jak dorzuciłbym jeszcze więcej tekstur , zero zawachania.

Do tej pory nie mam pojęcia dlaczego wystąpił taki problem

 

Okazało się że kiedy zrobię

1.Room_1

2.Room_menu

2.Room_1

 

To uruchomiony po raz drugi room_1 już po wizyscie w menu działa bez żadnego spowolnienia.Zrobiłem więc kopię room_1, zmniejszyłem view do fragmentu na którym umieściłem napisy początkowe z animacją pojawiające się przed wejściem do menu- i działa bez zarzutu- warunek to pojawienie sie tekstur z room_1 przed room_menu (wstawienie dowolnego pokoju przed menu nic nie dało)

 

Głupie totalnie ale działa..Ktoś może wie dlaczego?

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