optymalizacje i wydajność w grach komputerowych

14
OPTYMALIZACJE I WYDAJNOŚĆ W GRACH KOMPUTEROWYCH Artur Staszczyk VP Engineering WWW.GANYMEDE.EU

Upload: ganymede-academy

Post on 28-Jul-2015

55 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Optymalizacje i wydajność w grach komputerowych

OPTYMALIZACJE I WYDAJNOŚĆ W GRACH KOMPUTEROWYCH

Artur StaszczykVP Engineering

WWW.GANYMEDE.EU

Page 2: Optymalizacje i wydajność w grach komputerowych

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

Page 3: Optymalizacje i wydajność w grach komputerowych

WYDAJNOŚĆ

• Draw Call jest ciągle operacjąkosztowną

• Komunikacja z kodem natywnym ma swój narzut

Page 4: Optymalizacje i wydajność w grach komputerowych

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.

Page 5: Optymalizacje i wydajność w grach komputerowych

TECHNIKI OPTYMALIZACJI

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

Page 6: Optymalizacje i wydajność w grach komputerowych

PRZYKŁADY OPTYMALIZACJI

Page 7: Optymalizacje i wydajność w grach komputerowych

PROFILER

Page 8: Optymalizacje i wydajność w grach komputerowych

PROFILER

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

Page 9: Optymalizacje i wydajność w grach komputerowych

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

Page 10: Optymalizacje i wydajność w grach komputerowych

PRZYKŁADY OPTYMALIZACJI

Page 11: Optymalizacje i wydajność w grach komputerowych

PROCES OPTYMALIZACJI

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

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

Page 12: Optymalizacje i wydajność w grach komputerowych

TEMATY NIE PORUSZONE

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

Page 13: Optymalizacje i wydajność w grach komputerowych

REFERENCES

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

Page 14: Optymalizacje i wydajność w grach komputerowych