
Umjesto da nas sve ostavi bez teksta novim tehnologijama poput Lumena i Nanitea, u stvarnosti Unreal Engine 5 nažalost pamtimo po tehničkim problematičnim igrama sa stutterom i komplikacijama sa shaderima. Iz Epica su upravo priznali kako su jednim dijelom odgovorni za to, pa nastavili kako planiraju iskorijeniti taj problem.
U nedavnim ažuriranjima pokretača implementirao je tzv. PSO precaching koji jednim dijelom popravlja stvari. No idemo prvo objasniti problem.
Shaderi su GPU programi koji upravljaju svjetlosnim efektima i drugim grafičkim procesima. No svaka GPU arhitektura ima vlastiti instrukcijski set, što znači da se shaderi ne mogu unaprijed kompajlirati za sve grafičke kartice. Umjesto toga, igre distribuiraju shadere u jeziku koji GPU razumije, a zatim ih GPU drajveri kompajliraju u realnom vremenu. Upravo to uzrokuje povremene zastoje, tzv. stutter, instrukcija je više nego što ovaj može progutati.
Dok su igre bile jednostavnije, taj problem nije bio toliko izražen, a sada s upotrebama 8K tekstura, Ray Tracinga i drugih grafičkih blagodati modernog vremena, imamo globalni problem za koji Epic ipak nije toliko kriv sam po sebi, osim što još nije uspio pronaći unisono rješenje. Još.
Veće i kompleksnije igre koje engine (još) nije pohvatao
Tu sada nastupa stanoviti PSO Cache. Umjesto da generira shadere po učitavanju igre ili levela, što je postalo gotovo pa standardna praksa u PC igrama, on tijekom učitavanja igre analizira materijale i grafičke postavke te kompajlira samo najpotrebnije PSO-ove. Primjerice, u Fortniteu se za jednu partiju generira oko 30 tisuća PSO-ova, dok bi ih klasični sustav morao pripremiti milijune. Dakle, manje posla za GPU. Ali svejedno je na developeru prilično pripreme u preselekciji PSO-va itd.
PSO je, kažu, značajno smanjio stuttering, ali istovremeno i dalje ima utjecaj performansi na memoriju, što je ujedno i glavni razlog zašto sada grafičke kartice moraju imati gomile VRAM memorije. No nastavit će raditi na poboljšanjima, a osobito na onom ultimativnom koje slijedi – Unreal Engine 5 će u jednom u budućoj verziji potpunosti automatizirati taj proces i u PSO predmemoriju spremati samo ono što treba, što će eliminirati potrebu developera za ručnim prilagodbama.
Dakle, bolja vremena stižu.