Ebben a videóban megmutatom, hogyan használhatod az adatorientált programozást (Data-Oriented Design, DOD), hogy felgyorsítsd a Unity játékaid teljesítményét akár 10-szeresére. Ezt a korábbi gravitációs szimulációnk továbbfejlesztésén keresztül teszem.

A videóban először is elmagyarázom, mi okozza a korábbi kód teljesítményproblémáit, mi a gond az algoritmus skálázódásával (legrosszabb eseti komplexitás), és miért hatékonyabb a DOD, mint a hagyományos objektumorientált programozás (Object-Oriented Programming, OOP) a játékfejlesztésben. Ezután bemutatom, hogyan alkalmazhatod a DOD alapelveit a Unityben, különös tekintettel az adatok hatékony elrendezésére és a gyorsítótár-barát kód írására. És még pár egyéb trükkről is szó lesz a videóban, amivel hatékonyabbá tehetitek a fejlesztést és a kód futását.

A bemutatott példában kb. 10-szeres teljesítménynövekedést hoz a DOD használata és ez még csak a kezdet. A jövőben megnézzük hogyan lehet a kódunkat még hatékonyabbá tenni a párhuzamos programozás eszközeivel akár több, mint 10 000-szeresére (!) növelve a futási sebességet.

A videó témái

  • 00:00 – Bevezetés
  • 00:50 – Menedzser szkript használata
  • 02:10- A skálázódás problémája
  • 03:00 – Referencia- vs. értéktípusok
  • 04:00 – Adat-orientált megközelítés előnye
  • 04:50 – Gravitáció szimuláció objektumok létrehozást
  • 04:25 – Szimuláció GameObject-ek nélkül
  • 05:40 – Megjelenítés MeshRenderer-ek nélkül
  • 06:15 – GPU Instancing
  • 06:40 – Véletlenszám generálás valószínűség eloszlás szerint
  • 07:10 – Eredmények összehasonlítása
  • 07:50 – Összefoglaló. Mi a következő lépés?

Kinek szól ez a videó?

Ez a videó minden olyan Unity fejlesztőnek szól, aki szeretné javítani játékainak teljesítményét, különösen azoknak, akik érdeklődnek az adatorientált programozás iránt, és akik szeretnék látni, hogyan alkalmazható ez a technika egy konkrét példán.

Fontos megemlíteni, hogy bár főleg az adatorientált technikát tárgyaljuk, nem lesz szó a Unity DOTS-ról, ami hasonló elvekre épül. Ezt a témát a következő videóban vesézzük ki.

Ha szeretnéd megtanulni, hogyan optimalizálhatod a Unityben írt játékaidat az adatorientált programozás segítségével, és szeretnéd látni, hogyan fejlesztheted tovább a korábbi gravitációs szimulációdat ezzel a módszerrel, akkor ez a videó neked szól. A videóban bemutatott technikák segítségével jelentősen javíthatod a játékok teljesítményét, ami simább játékmenetet és jobb felhasználói élményt eredményez.

A szerző Marosi Csaba, Unity oktató. Unity játékfejlesztői oldala: https://developedia.hu/
Ha többet szeretnél tudni a Unity Játékfejlesztésről, jelentkezz a képzésemre:
https://3d-studio.hu/tanfolyam/unity-jatekfejlesztes-tanfolyam/

3D Tanfolyamok felnőttképzési rendszerben. Blender, Unity programok professzionális használatáért a belvárosban. Max 8 fős csoportok. Szemináriumok és Workshopok 3D, 2D és VFX témákban.
Kövess minket Facebookon is! https://www.facebook.com/3dStudioHungary/