Optymalizacje i wydajność w grach komputerowych

Post on 28-Jul-2015

56 views 0 download

Transcript of Optymalizacje i wydajność w grach komputerowych

OPTYMALIZACJE I WYDAJNOŚĆ W GRACH KOMPUTEROWYCH

Artur StaszczykVP Engineering

WWW.GANYMEDE.EU

WYDAJNOŚĆ

Coraz więcej pamięci i mocy obliczeniowej, ale…:• 60 FPS to ciągle wyznacznik

wydajności,• 16 ms to ciągle czas

przeznaczony na jedną klatkę,• coraz większe rozmiary

ekranóws

WYDAJNOŚĆ

• Draw Call jest ciągle operacjąkosztowną

• Komunikacja z kodem natywnym ma swój narzut

TECHNIKI OPTYMALIZACJI

Pomogą nam przy:• Wymóg określonego

rozwiązania,• Testowanie nowej technologii,• Optymalizacja to często

końcowy etap tworzenia gryOptymalizacja może występowaćna kilku poziomach.

TECHNIKI OPTYMALIZACJI

Optymalizujemy nie tylko czas wykonania:• assety (dźwięki, tekstury)• design (UX, gameplay)• zajętość pamięci• rozmiar aplikacji• …

PRZYKŁADY OPTYMALIZACJI

PROFILER

PROFILER

Bardzo dobre narzędziaDużo pomocnych funkcjonalnościCzęsto są dostosowane do konkretnej platformyMożna stworzyć własne, proste rozwiązanie

SIMPLE PROFILER

“High Resolution Timer” - dostępny na każdej platformie• Performance Counter

Nieduży (stały) narzut na wydajnośćMożna rozszerzyć do pracy z wieloma wątkami

PRZYKŁADY OPTYMALIZACJI

PROCES OPTYMALIZACJI

• Algorytmy i struktury danych,• Rozwiązania specyficzne dla

platformy i języka,• “Low-level stuff”

TEMATY NIE PORUSZONE

Wycieki pamięci,Zarządzanie pamięciąGarbage collecting,Object pooling,Optymalizacje scenyAtlasy tekstur…

REFERENCES

Android high-resolution timeriOS high-resolution timerWhat every programmer should know about memory