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/