Skocz do zawartości
set18

[Android] Problem z FPS

Rekomendowane odpowiedzi

Cześć,

mój problem polega na tym, że gdy użyję surface'ów, particles lub shaderów to projekt na urządzeniu mobilnym ma bardzo niskie fps, dodam, że uruchamiałem też inne pliki apk robione w GMS z o wiele większym wykorzystaniem surface'ów czy shaderów itd. i gra działa płynnie. Zrobiłem też próbę z projektami Demo (te z GMS), po kompilacji i uruchomieniu też gra ma bardzo niskie fps.

 

Co mam robić?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Optymalizować! Bardzo dużo zależy od wydajności urządzenia, ale można uczynić cuda odpowiednimi trikami. Oczywiście zmniejsz rozdzielczość, staraj się oszczędzać RAM, nie wykonuj zbyt dużo instrukcji na raz.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

W tym rzecz, że to nie wina kodu. Na pewno nie, skoro użyłem mniej niż 50 particles, a gra klatkuje, a uruchomiłem gotowe apk z przykładowym particles gdzie jest ich więcej niż 1000 i gra działa płynie, czyli wina nie leży też po stronie urządzenia. Dodam, że dema te z GMS też tną.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Daj więcej szczegółów. Skąd masz te 'gotowe apk'? Jaki procesor, RAM i rozdzielczość ma twoje urządzenie?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Czy ty porównujesz wydajność apek kompilowanych w YYC (LLVM) do zwykłych? :stupid:

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Mój projekt też jest kompilowany przez YYC.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ilość i rozmiar texture pages? Tzw. texture swaps, czyli zmiany texture pages w jednym stepie są zabójcze dla gry.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

7 texture pages o rozdzielczości 512x512

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A jak zwiększysz ich rozmiar? Liczba swapów może być tutaj właśnie problemem. (zakładając, że w evencie draw masz rysowanie 3 spritów, kazdy na innej stronie teksturowej, a instancji obiektu jest 10, to masz 30 zmian... a jak przesuniesz te 3 sprity na jedną stronę, to masz... 1 swap - optymalizacja 3000%).

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jak zmniejszyłem rozmiar to nic to nie dało, gra nie przyspieszyła. Tak jak mówiłem nie ważne co zrobię to każdy projekt mi tnie na androidzie, natomiast apk nie kompilowane przeze mnie działają dobrze.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

1. Jaka wersja (numer) GMS?

2. Czy masz zaktualizowane API Androidowe

3. Co masz ustawione w GlobalGameSettings dla Androida ?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

1. Wersja 1.2.1224

2. Wersja API 22.3 najnowsza.

529cfb379dc02.jpg

 

3.

529cfacc9a243.jpg

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A jeśli w Device Support zaznaczysz "Only support devices with GPU"?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Niestety dalej to samo, próbowałem już różnych opcji. :/

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Klinknij "Updates/New" w tym SDK Managerze i zobacz, czy na pewno. Dla YYC musisz mieć NDK.

 

Btw. napisałeś, że zmniejszyłes rozmiar tekstur, a ja mówiłem o zwiększeniu (np. 1024x1024). Sprawdź czy masz wszystkie architektury zaznaczone, oraz wyłącz interpolację.

 

Jeśli nadal wolno, to może masz jakiś skrypt który zamula w kazdym projekcie?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

NDK jest, SDK aktualny (w dodatku doinstalowałem więcej API)

 

Po zwiększeniu tekstur dalej to samo. Architektury wszystkie interpolacja off.

 

Po odpaleniu dla testu dema z surfaces jest to samo. :/ Nie ma tam żadnych moich skryptów.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Daj komuś do zrobienia APK dla porównania.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Po odpaleniu gotowego apk u znajomego działa dobrze..

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

A widzisz, w samym GMowym runnerze mogli zmienić wymagania i Twoj telefon nie daje rady.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Chodziło mi, że znajomy mi zrobił apk.

 

Sprawdzałem też na samsungu galaxy note 2 i dalej to samo, domyślne dema z GMS też zamulają, nie wiem już :/

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Odinstaluj GM, zainstaluj na nowo. I wywal niepotrzebne SDK Androidowe, w dokumentacji chyba jest napisane które są wymagane.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

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

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×