Unreal Engine 5 tegeleb arvutigraafika suurima probleemiga

dt esiletõstetud pilt 2
See lugu on osa Jacob Roachi ReSpec sarjast, mis hõlmab arvutimängude ja riistvara maailma.

Selle ajal Ebareaalse aadressi olek GDC 2023 raames kuulutas Epic välja Unreal Engine 5.2 laiaulatusliku funktsioonide komplekti. Aga võib-olla kõige rohkem Uuendatud mootori oluline funktsioon ei ole seotud valgustuse, geomeetria detailide ega kiirtega jälgimine. See kõik puudutab jõudlust.

Sisu

  • Pidage meeles kokutamist
  • Kõik Fortnite'i jaoks
  • Ikka palju põnevust

Soovitatavad videod

Ebareaalne mootor mänge, kas õigustatult või valesti, on viimastel aastatel seostatud kogelemise ja tõrgetega. Uue väljalaskega tegeleb Epic lõpuks probleemiga otsekohe, nii et ma arvasin, et on viimane aeg teha lahti, miks Unreali mängud nii on Tavaliselt näitavad kokutamist, seda, mida Epic probleemi lahendamiseks teeb ja millal me võime eeldada, et need jõupingutused ilmuvad uutes väljaannetes.

Pidage meeles kokutamist

Kaadriaeg arvutis Gotham Knightsis.
Need kaadriaja hüpped ilmnevad Gotham Knightsi tugevate kokutamistena.

Viimastel aastatel on Unreal Engine muutunud kogelemise sünonüümiks. Oleme seda ikka ja jälle näinud, alates 

Tähesõdade jedid: langenud ordu juurde Hulkunud juurde Gothami rüütlid, ja neil kõigil on sama probleem. See on kompilatsiooni kokutamine.

Tavaliselt kuulete varjutajate koostamise kogelemisest, kuid hiljutised tõrgete allikad ei ole tingitud üksikutest varjutajatest. Viimases graafikas API-d nagu Vulkan ja DirectX 12, pakette, mida tuntakse Pipeline State Objects (PSO) nime all, kasutatakse mängule teie GPU olekust teavitamiseks. PSO-de eesmärk on muuta renderdamine tõhusamaks, võimaldades kümneid parameetreid, sealhulgas varjutajaid, liidestada API ja GPU vahel ühes paketis.

Kuid need toovad esile teistsuguse probleemi. Kuna avaliku teenindamise kohustused sisaldavad nii palju teavet, võtab uue loomine lennult kaua aega (vastavalt Unreali dokumentatsioonile, 100 või enam millisekundit). See käitusaegne PSO loomine on kokutamise allikas, kus mootor peab genereerima uue PSO, kui te tegelikult mängite.

Selle vastu võitlemiseks on Unreal Engine'is saadaval PSO vahemällu salvestamine. See loob võimalike PSO-de vahemälu, nii et uusi ei pea mängu mängimise ajal looma, kuid need pole täiuslikud. Nagu Epic selgitab, võib PSO eelpuhverdamine "suurte projektide jaoks olla koormav ja jätta vahemällu siiski lünki, mis põhjustavad tõrkeid." Sellepärast näete isegi mängudes, mis eelkompileerivad GPU-le varjutajaid, aeg-ajalt kokutamist (isegi kui neid on vähe ja kaugel vahel).

Epic üritab seda protsessi automatiseerida, kogudes avaliku teenindamise kohustusi, selle asemel, et jätta arendajatele iga võimaliku GPU parameetri arvestamine. See on sisse lülitatud Epicu avalik teekaart, kuid praegu on saadaval ainult eksperimentaalne versioon. Unreal Engine 5.2-s on eesmärk parandada PSO vahemällu, et veelgi vähendada tõrkeid.

Kõik Fortnite'i jaoks

Stseen Fortnite'ist, mis töötab Unreal Engine 5-s.

Unreal Engine 5-s on palju põnevust (ma käsitlen seda järgmisena), kuid meil pole veel selget ülevaadet mootori tööst. Seni on seda kasutatud ainult tehnilistes demodes ja Fortnite suuremate väljaannete hulgas. Isegi sellised mängud nagu Redfall mis lubasid Unreal Engine 5 võimendada, on taandunud Unreal Engine 4-le.

Et olla selge, Unreal Engine 4-s saadaolevad tööriistad võimaldavad arendajatel oma mänge optimeerida, et vältida kogelemist. Aatomi südaon üks paljudest näidetest selle kohta. Kuid avaliku teenindamise kohustuste keerukas olek on jätnud mängu ajal ukse avatuks ja Epicu automatiseeritud avaliku teenindamise kohustuste kogumine võeti kasutusele alles versioonis Unreal Engine 5.1.

Kuigi mul on hea meel näha, et Epic tegeleb probleemiga otse, ei ole me veel näinud automaatset PSO vahemälu protsessis. Kuna väiksematelt meeskondadelt tulevad välja keerulisemad ja mitmekesisemad väljaanded, suureneb nõudlus PSO genereerimise järele ning haakumise ja kokutamise võimalus suureneb.

See puudutab eriti mänge, mis sisaldavad kiirte jälgimine, kuna Unreal Engine 5 ei toeta PSO vahemällu salvestamist kiirte jälgimine avaliku teenindamise kohustused. Nagu Nvidia selgitab, on võimalik levitada kiirjälgimise PSO loomise tööd mitmele lõimele, kuid see ei tähenda tingimata, et arendajad seda protsessi kasutavad.

Ikka palju põnevust

Valgustus Unreali mootoris 5.

Peame veel nägema Unreal Engine 5 automatiseeritud PSO kogumist, kuid tegelikult on mootoris palju põnevust. Ennekõike Lumen. Valgustus on graafilise täpsuse jaoks äärmiselt oluline ja kalleid tehnikaid, nagu teejälgitav valgustus, tutvustatakse Portaal RTXon riistvara suhtes karmid. Lumen jagab erinevuse.

Lumen kasutab kiirte jälgimist, kuid see on väga optimeeritud vorm kiirte jälgimine. Selle asemel, et hoolikalt arvutada üksikasjalikel objektidel lõpmatuid põrkeid, kasutab Lumen abstraktsioone valgustuse arvutamiseks enamiku stseeni jaoks, valides vaikimisi ainult üksikasjalikule valgustusele, mis on kõige lähemal kaamera. See optimeerimine võimaldab Lumenil töötada koos tarkvaraga kiirte jälgimine, loobudes vajadusest pühenduda kiirte jälgimine kiirendid teie peal graafikakaart.

Tulemused on juba selged. Fortnite töötab Lumeniga konsoolidel kiirusega 60 kaadrit sekundis (fps) ja näeb arvutis vapustav välja, isegi Fortnite's koomiksimaailm.

Naniidi esitlus mängus Unreal Engine 5.

Nanite töötab koos Lumeniga. See on virtualiseeritud geomeetriasüsteem, mis sisaldab väga üksikasjalikke, tihedalt tihendatud võrke, mida saab mängu ajal kohandada. See on põhimõtteliselt keeruline detaili tase (LOD) võrkude jaoks, mis vahetab automaatselt üksikasjalike ja ebamääraste võrkude vahel olenevalt sellest, kust kaamera vaatab.

Veelgi olulisem on see, et Nanite töötab oma renderduspassiga, nii et see ei ole traditsioonilises GPU-konveieris kinni. See tähendab, et teie mäng jääb sujuvaks isegi siis, kui Nanite vahetab võrgu keerukust välja. Nanite'i ja Lumeni vahel on teil kaks visuaalselt muljetavaldavat, arvutuslikult tõhusat funktsiooni, mis tõstavad graafilise täpsuse latti.

Epic jagas oma State of Unreali kõne ajal siiski rohkem. Substrate on Unreal 5.2 uus materjalisüsteem, mis sisaldab üksikasjalikumat varjundi juhtimist. Epic demonstreeris seda opaalpinnamaterjaliga, mis näitab mitut kihti ja täpset valguse murdumist kogu nende ulatuses.

Unreal Engine 5 opaalmaterjal.

Uus menetlusliku sisu genereerimise raamistik (PCG) on samuti põnev, isegi kui see ei ole otseselt visuaalse täpsusega seotud. Piiratud sisendiga saab PCG genereerida uusi objekte, mis võimaldavad arendajatel kiiresti ehitada välja kõrge detailitasemega maailmu. See on põnev avardavamate maailmade jaoks, mis ei vaja kunstniku puudutust igal nurgal.

Seal on palju muud, alates MetaHumani edusammudest kuni täieliku tee jälgimiseni Unreal Engine'is. See on põnev, kuid kogelevad probleemid, mida tavaliselt seostatakse Unreal Engine'i väljalasetega, jäävad alles. Loodetavasti suudavad Epicu edusammud PSO vahemällu salvestamisel sellest probleemist mööda minna, kuid meil pole veel palju Unreal Engine 5 mänge, et näha, kuidas see süsteem töötab.

See artikkel on osa ReSpec – iga kahe nädala tagant jooksev veerg, mis sisaldab arutelusid, nõuandeid ja põhjalikku aruandlust arvutimängude taga oleva tehnoloogia kohta.

Toimetajate soovitused

  • Üritasin taaselustada Halo unustatud pärandit Maci frantsiisina – ja see oli katastroof
  • Eksklusiivsete arvutipartnerlussuhetega kaotavad kõik
  • Kõigi aegade halvimad arvutipordid ja miks need nii halvad olid
  • Kuidas generatiivne AI loob mänge "laiema, suurema ja sügavama maailmaga"
  • Star Wars Jedi: Survivorit pommitatakse Steamis kui "täielikku jama" arvutiporti