Poprawianie wydajności gry mobilnej w Unity

Granie na urządzeniach mobilnych bardzo ewoluowało w ostatnich latach, od prostych gier 2D po oferowanie pełnych wrażeń 3D. Mimo to nadal ma ograniczoną moc obliczeniową, więc aby zapewnić płynną rozgrywkę, należy wziąć pod uwagę pewne wybory projektowe.

Poniżej znajduje się 5 najważniejszych punktów, na które należy zwrócić uwagę, aby poprawić wydajność na urządzeniach mobilnych podczas programowania w Unity:

Unikaj przejrzystości

Przerysowywanie pikseli jest dość kosztowne i może drastycznie zmniejszyć liczbę klatek na sekundę na urządzeniach mobilnych. Aby temu zapobiec, unikaj używania przezroczystych shaderów lub w zasadzie jakichkolwiek shaderów zawierających przezroczystość (np. shaderów cząstek).

W przypadku geometrii nieprzezroczystej użyj Shaders z kategorii Mobile.

Unikaj cieni w czasie rzeczywistym

Cienie w czasie rzeczywistym mogą wyglądać fajnie, ale wymagają sporo mocy obliczeniowej. Najlepiej więc zamiast tego upiec je w Lightmaps.

Użyj statycznego przetwarzania wsadowego, aby zmniejszyć liczbę wywołań losowania

Statyczne przetwarzanie wsadowe to sposób na umożliwienie Unity łączenia obiektów statycznych razem, co z kolei zmniejszy liczbę wywołań Draw, poprawiając w ten sposób wydajność renderowania.

Aby włączyć statyczne grupowanie, zaznacz wszystkie statyczne obiekty w scenie jako "Batching Static", a następnie przejdź do Edycja -> Ustawienia projektu... -> Odtwarzacz i upewnij się, że zaznaczono opcję Statyczne grupowanie.

Używaj dynamicznego dozowania z ostrożnością

Dynamiczne dozowanie jest nieco kontrowersyjne. Z jednej strony pozwala Unity łączyć obiekty dynamiczne w mniejszą liczbę obiektów, potencjalnie poprawiając wydajność, ale z drugiej strony musi to robić w każdej klatce, co zamiast tego może pogorszyć wydajność.

Ogólnie rzecz biorąc, w przypadku kierowania na platformy mobilne lepiej jest wyłączyć dynamiczne grupowanie.

Unikaj używania OnGUI

OnGUI pozwala szybko utworzyć interfejs użytkownika z kodu, ale jest bardzo powolny w porównaniu do UI Canvas, więc używaj go tylko do prototypowania.

Sugerowane artykuły
Wskazówki dotyczące optymalizacji dla Unity
Ustawienia importu klipów audio Unity w celu uzyskania najlepszej wydajności
Unity Zoptymalizuj swoją grę za pomocą Profilera
Jak wykorzystać aktualizację w Unity
Generator billboardów dla Unity
Tworzenie mobilnej gry typu horror w Unity
Jak stworzyć grę mobilną w Unity