Metody optymalizacji gier w silniku Unity
Czas trwania szkolenia:2 dni (16h)
Kod kursu:GD/OPT
Poziom zaawansowania:
O szkoleniu Metody optymalizacji gier w silniku Unity
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Dla kogo?
- Szkolenie zostało stworzone dla programistów którzy chcieliby dowiedzieć się jak zoptymalizować swoje gry, aby bez problemu utrzymały stałe 60 klatek na sekundę nawet na urządzeniach mobilnych
Wymagania
- Zaawansowana znajomość języka C#
- Podstawowa znajomość silnika Unity
Zalety
- Każdy z uczestników będzie miał szansę naprawić “popsuty” projekt pod względem wydajności i obserwować jak wprowadzane przez niego zmiany wpływają na działanie rozgrywki
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Cele szkolenia
- Optymalizowanie gier stworzonych w silniku Unity
- Najważniejsze aspekty, które wpływają na wydajność naszej gry
- Poznanie dobrych praktyk projektowania gier pod względem ich późniejszej wydajności oraz jak należy szukać problemów gdy już takie w niej wystąpią
- Optymalizacja specjalnie przygotowanego projektu, w którym będą występowały sztucznie stworzone problemy wydajnościowe
- Przygotowanie gry, wymagającej skupienia na optymalizacji sprzętowej
Program
Z czego wynikają problemy wydajnościowe w grach
- Ilość wykonywanych obliczeń
- Przeciążenie karty graficznej
- Dostęp do pamięci tymczasowej
- Dostęp do systemu plików
- Zapchany główny wątek aplikacji
Badanie wydajności gry
- Pomiar klatek na sekundę
- Profiling wykonującego się kodu
- Alokacje pamięci
Metody optymalizacji w grach
- Object pooling
- Czym są Draw Calls (Frame Debbuger)
- Redukcja Draw Calls (Atlasowanie)
- Jak pozbyć się zbędnych alokacji pamięci
- Garbage Collector
- Level of Detail (LOD)
- Redukcja czasów wczytywania
- Coroutines
- Async-Await
- Wypalanie świateł w scenach statycznych (Baking)
- Wypalanie świateł w scenach dynamicznych (Light Probes)