Optymalizacje i wydajność w grach komputerowych
-
Upload
ganymede-academy -
Category
Technology
-
view
53 -
download
0
Transcript of Optymalizacje i wydajność w grach komputerowych
![Page 1: Optymalizacje i wydajność w grach komputerowych](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/1.jpg)
OPTYMALIZACJE I WYDAJNOŚĆ W GRACH KOMPUTEROWYCH
Artur StaszczykVP Engineering
WWW.GANYMEDE.EU
![Page 2: Optymalizacje i wydajność w grach komputerowych](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/2.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/3.jpg)
WYDAJNOŚĆ
• Draw Call jest ciągle operacjąkosztowną
• Komunikacja z kodem natywnym ma swój narzut
![Page 4: Optymalizacje i wydajność w grach komputerowych](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/4.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/5.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/6.jpg)
PRZYKŁADY OPTYMALIZACJI
![Page 7: Optymalizacje i wydajność w grach komputerowych](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/7.jpg)
PROFILER
![Page 8: Optymalizacje i wydajność w grach komputerowych](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/8.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/9.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/10.jpg)
PRZYKŁADY OPTYMALIZACJI
![Page 11: Optymalizacje i wydajność w grach komputerowych](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/11.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/12.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/13.jpg)
REFERENCES
Android high-resolution timeriOS high-resolution timerWhat every programmer should know about memory
![Page 14: Optymalizacje i wydajność w grach komputerowych](https://reader030.fdocument.pub/reader030/viewer/2022032618/55b764aabb61eb18398b4771/html5/thumbnails/14.jpg)