„Epic Games“ pristatė oficialų sprendimą, kuris gali sumažinti vieną labiausiai žaidėjus erzinančių momentų – ilgas shaderių išankstinės kompiliacijos pauzes pirmą kartą paleidžiant žaidimą. Naujovė siejama su Unreal Engine 5.8 ir funkcija, vadinama ASD.
ASD esmė yra paprasta: dalį shaderių galima paruošti iš anksto ir pateikti žaidėjui atsisiuntimui per suderinamą skaitmeninę parduotuvę. Taip išvengiama situacijų, kai ką tik įdiegtas žaidimas prieš startą verčia laukti ilgai, kol viskas bus sukompiliuota vietoje.
Diegimui kūrėjams siūlomas naujas įrankis „ASDTool“, kuris iš paruošto žaidimo leidimo suformuoja failą su reikalingais duomenimis. Šis failas kuriamas kaip SOB duomenų bazė, o vėliau paverčiamas į PSDB, kurią galima pateikti per suderinamą platinimo kanalą.
Kaip tai turėtų veikti praktikoje?
Pagal „Epic Games“ pateiktą informaciją, ASD nėra skirtas pakeisti jau egzistuojančių optimizavimo priemonių. Jis veikia kartu su variklyje taikomu PSO išankstiniu buferizavimu ir PSO talpyklos paketais, todėl kūrėjams rekomenduojama šių mechanizmų neišjungti.
Idėja ta, kad iš anksto sukompiliuoti shaderiai padėtų sumažinti pirmojo paleidimo laiką ir kartu mažintų mikčiojimo riziką, kuri kartais pasireiškia, kai shaderiai ar būsenų objektai sudarinėjami jau žaidimo metu. Vis dėlto galutinis rezultatas priklausys nuo to, kaip kruopščiai ši schema bus pritaikyta konkrečiam projektui.
„Microsoft“ vaidmuo ir parduotuvių suderinamumas
ASD plačiau pristatytas šių metų Games Developers Conference renginyje, kur „Microsoft“ kalbėjo apie galimybes laikyti iš anksto paruoštus shaderius debesijoje. Tokiu atveju žaidėjas galėtų parsisiųsti reikalingus duomenis, užuot laukęs, kol jie bus sugeneruoti jo kompiuteryje.
Svarbi detalė ta, kad sprendimas siejamas su suderinamumu: parduotuvė ir platinimo infrastruktūra turi palaikyti tokį turinį, o rezultatai gali skirtis priklausomai nuo vaizdo plokščių ir tvarkyklių aplinkos. Kitaip tariant, tai nėra vienas universalus jungiklis, kuris visur vienodai panaikins laukimą.
Kodėl shaderių tema tokia aktuali?
Pastaraisiais metais shaderių kompiliacija tapo dažna šiuolaikinių žaidimų realybe, ypač naudojant pažangius atvaizdavimo metodus ir didelės apimties turinį. Žaidėjams tai dažniausiai pasireiškia dviem būdais: ilgesniu pirmuoju startu arba momentiniais strigimais žaidimo metu.
Jei ASD ir „ASDTool“ bus plačiau pritaikyti, kūrėjai galės paprasčiau paruošti iš anksto sukompiliuotų shaderių paketus be rankinio jų surinkinėjimo. Tai potencialiai gali tapti dar vienu žingsniu link sklandesnės patirties, kai didelio biudžeto žaidimai startuoja greitai ir stabiliai.

Leave a Reply