Ignatus Opublikowano 9 Maja 2015 Udostępnij Opublikowano 9 Maja 2015 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 Więcej opcji udostępniania...
PsichiX Opublikowano 9 Maja 2015 Udostępnij Opublikowano 9 Maja 2015 czy jakimś cudem, jakiś obiekt w menu ma może ustawioną opcję 'persistent'? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 10 Maja 2015 Autor Udostępnij Opublikowano 10 Maja 2015 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 Więcej opcji udostępniania...
Threef Opublikowano 10 Maja 2015 Udostępnij Opublikowano 10 Maja 2015 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 Więcej opcji udostępniania...
Ignatus Opublikowano 10 Maja 2015 Autor Udostępnij Opublikowano 10 Maja 2015 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 Więcej opcji udostępniania...
Threef Opublikowano 10 Maja 2015 Udostępnij Opublikowano 10 Maja 2015 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 Więcej opcji udostępniania...
Ignatus Opublikowano 10 Maja 2015 Autor Udostępnij Opublikowano 10 Maja 2015 W jakim evencie najlepiej użyć tego flush? Debugger domyślnie pokazuje mi obiekty (25% pobiera obiekt player- reszta to drobnostki)- nie wiem jak sprawdzić ile zajmuje wczytywanie tekstur,background itp Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 10 Maja 2015 Udostępnij Opublikowano 10 Maja 2015 flush najlepiej wcale nie używać. Używaj gdy chcesz wyrzucić coś z pamięci. Profiler przełącz z GML na drugi tryb. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ignatus Opublikowano 10 Maja 2015 Autor Udostępnij Opublikowano 10 Maja 2015 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 Więcej opcji udostępniania...
Threef Opublikowano 11 Maja 2015 Udostępnij Opublikowano 11 Maja 2015 Podeślij wyeksportowany projekt w gmz. Zrobiłem się ciekawy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę