Küsisin arendajatelt, miks 2023. aasta arvutipordid töötavad nagu prügi

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

Kui vaadata PC-väljaannete olek aastal 2023 on lihtne näpuga näitama hakata. Mäng pole optimeeritud (mis iganes see ka ei tähendaks) või väljaandja kiirustas selle liiga kiiresti välja või Nvidia graafikakaardid on meile müünud. liiga väikese VRAM-iga. Kuid need süüdistused on enamikul juhtudel poolikud ja ülbed ning kuigi nad vihjavad tegelikkusele, ei räägi nad kogu lugu.

Sisu

  • Mis on probleemiks?
  • Mida saate õigesti teha
  • Edasine tee arvutiportide jaoks

Soovitatud videod

Tahtsin teada, mis tegelikult toimub, nii et istusin koos mõne arendajaga maha, et mõista arvutimängude olukorda ja seda, miks on nii palju väljalaseid nii suurte probleemidega saabunud. Veelgi olulisem on see, et ma tahtsin teada, mida arendajad ja kirjastajad saaksid nende probleemide lahendamiseks teha, ja kuigi edasiminek pole selge, on ilmne, et arendajad teavad, et on olemas a probleem.

Mis on probleemiks?

Väike mänguarvuti, mis istub PS5 kõrval.

Esiteks peame tuvastama arvuti põhiprobleemi, eriti kui mängud tarnitakse konsoolidele mängitavas (kui mitte täiuslikus) olekus, kuid arvutis on need kohutavalt katkised. Kõrgel tasemel on arvuti kui platvormi probleem just see, mis teeb selle nii ahvatlevaks: paindlikkus.

Seotud

  • Eksklusiivsete arvutipartnerlussuhetega kaotavad kõik
  • Konsoolidel on endiselt üks suur eelis ja see kahjustab arvutimänge
  • Kuidas viiruslik bodycam-mäng pani interneti arvama, et tegemist on päris kaadritega

Marc Whitten, Unity Create'i vanem asepresident ja peadirektor, ütleb, et "arvutite konfiguratsioonide suur mitmekesisus ja varieeruvus, millel mänge mängitakse, võib kindlasti paljastada ootamatuid probleeme." Whitten viitab ka "erinevatele operatsioonisüsteemidele ja uutele draiverite värskendustele, kuumusele ja latentsusele ning kasutaja kohandamisele" kui teguritele, mis võivad probleemi mõjutada.

Olen kindel, et enamik inimesi arvab, et see on seletus.

Kuid probleem ei ole Whitteni sõnul testimise puudumises. Ta kinnitab, et mänge "üldiselt testitakse arenduse jooksul põhjalikult". Probleem taandub sellele erinevate konfiguratsioonide ulatus, mida arendajad peavad testima, samuti muutujad, mida nad ei saa arvesse võtta jaoks.

Ütleme mõtteeksperimendina, et arendaja määras testimiseks 100 erinevat arvutikonfiguratsiooni, muutes protsessorit, GPU-d, RAMja nende vahel kõvaketast. Teadmiseks on see number, mille ma lihtsalt välja tõmban, mitte midagi, mida arendaja tegelikult realistliku eesmärgina nimetas. Nüüd võtke kõik need konfiguratsioonid ja korrutage see kümnete täiendavate teguritega: millist OS-i te kasutate? Mis selle OS-i versioon? Kuidas oleks draiveri versiooniga? Millised BIOS-i sätted on lubatud? Kas teil on taustal mõni tarkvara, näiteks Razer Synapse või Corsair iCue?

RTX 4080 töötavas katsestendis.
Jacob Roach / Digitaalsed trendid

Võimalike konfiguratsioonide ulatus ulatub palju kaugemale sellest, milline CPU ja GPU teie süsteemis on, ja need tegurid võivad kergesti kasvada kümneteks tuhandeteks stsenaariumideks, mida arendajad lihtsalt ei suuda arvestada jaoks. Ideaalses maailmas saavad arendajad kõige populaarsemate arvutikonfiguratsioonide suurimad probleemid lahendada uusimate draiverite ja OS-i värskendustega, jättes pärast käivitamist lahendada vaid väikesed spetsiifilised probleemid.

Ka Whitten pole selle tundega üksi. John Johanas, mängujuht Hi-Fi kiirustamineja Kurjus 2 sees, ütleb, et "on üsna ebareaalne arvata, et saate teha toote, mis töötab veatult millega tundub nagu piiramatu konfiguratsioon protsessoreid, GPU-sid, mälu ja tõenäolisemalt ka seda, mis töötab taust."

Hideyuki Miyashita, süsteemide programmeerija Hi-Fi Rush, nõustus, kuid juhtis konkreetselt tähelepanu iga võimaliku konfiguratsiooni jaoks mängu optimeerimise kuludele: „In arvuti jõudluse osas, muutes iga graafikafunktsiooni erinevate konfiguratsioonide jaoks skaleeritavaks ideaalne; arenduskulud seavad aga realistlikule skaleeritavuse toele ülempiiri.

See ei ole uus lugu. Arvutikonfiguratsioonide suur hulk on üldine süüdlane kõiges, alates sellest, kui keeruline on arvutis mänge optimeerida, kuni selleni, miks me pole näinud Xboxi Quick Resume kuvatakse Windowsis. Küsimus on selles, mida arendajad saavad teha hoolimata piiratud ajast ja rahast. Kuna arvutid ei muutu lihtsamaks ja mängud jõuavad platvormile endiselt katki.

Mida saate õigesti teha

Cal Kestis vehib oma sinist valgusmõõka ja kannab BD-1 mängus Star Wars Jedi: Survivor.

Meil on sel aastal palju näiteid mängude kohta, kus arvuti tugi on valesti tehtud. Üks esinumber näide on Tähesõdade jedid: ellujääja, mis praegu on ülevaatuse olekus „Mixed”. Steamis, hoolimata sellest, et see on aasta üks enim tunnustatud mänge. Parim ülevaade kõlab: "Üks krahh rikkus mu 140-tunnise 99,8% NG+ salvestusfaili." Jah.

Võtsin ühendust arendusmeeskonnaga, et saada aimu, mis valesti läks, ja kuigi nad olid alguses vastuvõtlikud, astus EA vahele ja lõpetas mu meilide tagastamise. Seega, selle asemel, et vaadata, millised mängud arvutis valesti teevad, peame vaatama, mida arendajad õigesti teevad.

Hi-Fi kiirustamine on peamine juhtumiuuring. See on uus mäng AAA stuudiost ja see kasutab kurikuulsat Unreal Engine 4. Võib arvata, et see võrdleb õuna ja apelsini vahel Hi-Fi kiirustamine ja selline mäng nagu Tähesõdade jedid: ellujääja, kuid neil on rohkem ühist, kui võite arvata. Nagu Johanas märgib, "...asjaolu, et mängul on koomiksite esteetika, annab mõnele kasutajale arusaama, et mängu ei tohiks kellegi arvutis käitamine olla probleem. Reaalselt teeb mäng palju asju, et saavutada soovitud välimus ja pidevalt liikuv maailm, mis on väga koormav... Ma teadsin, et sisse minnes, ja veendusin, et proovime neid tabada ootused.”

Chai lööb Hi-Fi Rushis robotit.
Bethesda

Selle eesmärgi seadmine algusest peale tundus oluline Hi-Fi kiirustaminestabiilsust. Arendajad märgivad, et algusest peale oli disaini eesmärk säilitada vähemalt 60 kaadrit sekundis (fps), kuna see on nii rütmimäng kui ka märulimäng, kus sellele märgile allajäämine põhjustaks "luksumist, [mis] võib põhjustada muusika sünkroniseerimise ja tajutava kehva mängukogemuse". Johanas.

Kuidas Tango Gameworksi meeskond sellega hakkama sai? See taandub laialdaselt kolmele põhipunktile: hoolikas VRAM-i jälgimine, asünkroonsed toimingud ja PSO vahemällu salvestamine.

Vastavalt Kosuke Tanaka, juhtiv graafika programmeerija Hi-Fi Rush, meeskond jälgis VRAM-i kasutamist igal arendusetapil. See hõlmab loomulikult iga taseme, aga ka iga kunstisektsiooni VRAM-i kasutamise jälgimist, paludes kunstnikel vähendada tekstuuri või võrgumälu kasutamist, et see mahuks mängu eelarvesse. See pole ka mänguarenduses haruldane.

Mis töötab Hi-Fi kiirustamineSelle eeliseks on tema tugev kunstiline suund. Nagu Tanaka märgib: "Meie kunstistiil aitas meid natuke, sest me ei nõua traditsioonilisi PBR-tekstuure, nagu tavalised kaardid, karedus kaardid või metallkaardid." See annab tunnistust loominguliste piirangutega töötamisest ja sellest, kuidas see võib finaali stabiilsust mõjutada toode. Johanas ütleb, et asi ei olnud väiksemas ulatuses, vaid selles, et "pole vaja ilma põhjuseta suureks minna".

Küsisin meeskonnalt, mida nad õppisid Hi-Fi kiirustamine et see võiks viia suurematesse ja laiematesse projektidesse, kuid see pole täpselt see, kuidas Tango mängust õppust võtab. Tegelikult ütles arendusmeeskond mulle, et õppis optimeerimise kohta palju rohkem Ghostwire: Tokyo, mis sobib rohkem traditsioonilise AAA vormiga ja kandis need ideed sisse Hi-Fi Rush, mitte vastupidi.

Akito ründab mängus Ghostwire: Tokyo vaenlasi maagia abil.
Ghostwire: Tokyo on Unreal Engine'i TSR-i varajane esitlus, mis on väga sarnane FSR 2.0-ga.

„Saime palju teadmisi selle kohta, kuidas tulla toime mängusisese kogelemisega Hi-Fi kiirustamine meie optimeerimise kogemusest Ghostwire: Tokyo,” rääkis Miyashita mulle. Suur osa sellest oli  Pipeline State Object (PSO) vahemällu salvestamine. See on Unreal Engine 4-s saadaval olev funktsioon, mis aitab vähendada kogelemist, kompileerides varjundid enne mängu käivitamist.

Peamine probleem on selles, et Unreal Engine 4 ei tee seda automaatselt, mis põhjustab olukordi, kus varjutajad peavad mängu mängimise ajal kompileerima, mis põhjustab kokutamist. Miyashita ütleb, et "see põhjustas mõned järelprotsessid ja VFX kogelemise." Programmeerija ütleb ka, et PSO vahemällu salvestamine on valikuline, seega peab arendaja sellele keskenduma.

Vahemällu salvestamine ei lahenda siiski kõiki probleeme ja siin tulevadki asünkroonsed toimingud. The Hi-Fi kiirustamine meeskond kasutas asünkroonset kompileerimist - kus varjundid kompileeritakse mängulõngast eraldi -, kuid see oli ka suur tähelepanu, arvestades, et mäng jooksis Unreal Engine 4 peal.

Nagu oleme näinud teiste Unreal Engine 4 mängude puhul, nagu Tähesõdade jedid: ellujääja ja Redfall, mootor ei ole väga hea, et skaleerida paljudele kaasaegsetel protsessoritel saadaolevatele lõimedele. Nagu Miyashita selgitab: „Kui keeruline võib olla mitme keermestamise toetamine, sõltub suuresti kasutatud mootorist arhitektuur. Kahjuks jääb UE4 selles osas veidi alla.

Eelkõige asetab Unreal Engine 4 arendaja sõnul näitleja (objektid/tegelased) ja vidinate (kasutajaliides ja ülekate) loomise mänguga samale CPU lõimele. See tähendab, et kui mäng soovib näiteks laadida uut tegelast, on see lõime prioriteet. Miyashita ütleb, et "see võib põhjustada keeruka näitleja ja vidina loomise, mis blokeerib mängulõime pikka aega." See on kokutamine.

Lahenduseks on asünkroonsed toimingud. Miyashita ütleb, et meeskond kasutab analüüsitööriistu, et määrata täpselt, mida protsessor objektide toomisel teeb ja et nad püüavad neid ülesandeid erinevatesse lõimedesse teisaldada, et mäng ei aeglustuks alla. See spetsiifiline sihtimine võib aidata ka ressursside laadimisel. Nende toimingute teisaldamine paralleelsesse struktuuri võib vältida voogesituse kokutamise lõkse, mis esinevad sellistes mängudes nagu Surnud tsoon.

Edasine tee arvutiportide jaoks

Layla varjab end Redfallis spektraalse vihmavarjuga.

Mängud, mis täna katastroofilistes osariikides välja tulevad, algasid aastaid tagasi, nii et kuigi ma olen lootusrikas et PC-versioonid paranevad aasta jätkudes, võib kuluda mitu aastat, enne kui neid põhiprobleeme näeme adresseeritud.

Whitten ütleb, et "arendajad on jõudluse pärast sama mures kui mängijad" ja seda tunnet olen korduvalt kuulnud. Arvutiväljaannete optimeerimiseks on viise, alates varjutajate vahemällu salvestamisest kuni asünkroonsete operatsioonideni kuni mitmesuguste riistvarade valideerimiseni. Kuid tegelikkus on see, et arendajad ei saa kõike arvestada, ei aja ega raha ja tavaliselt mõlema eest.

Edasine tee on siin lihtne. Esiteks andke nende mängude väljaandjatele teada, et eelistaksite näha viivitust kui katkist mängu. Arendajate peale karjumisest pole palju kasu – nad juba teavad probleemi ja tõenäoliselt sooviksid nad, et see lahendaks sama palju teiegi. Teiseks olge väljalaskepäeval uue arvutimängu ostmisel ettevaatlik. Raske on olla kannatlik, kui ootad midagi (usu mind, ma tean), kuid ootad mängu ostmist kuni Probleemid on parandatud, saadab kirjastajatele tugeva signaali, et nad investeeriksid rohkem aega ja ressursse mängude lihvimise tagamisse arvutis.

Lihtne on unustada, et see on veel kaardistamata territoorium. Rohkem kui kunagi varem jõuavad mängud arvutisse samal päeval, kui nad konsoolidele jõuavad, erinevalt mõne aasta tagusest ajast, kus arvutipordid saabusid kuid (või isegi aastaid) hiljem. Kaks konsoolipõlvkonda tagasi tarniti enamik mänge ainult samal päeval ühele platvormile; eelmises põlvkonnas oli see kaks. Nüüd eeldatakse, et arendajad tarnivad samal päeval vähemalt kolmele platvormile ja mõnikord kuni viiele platvormile, kui neil on viimase põlvkonna versioon.

Seda konteksti arvestades pole raske aru saada, miks arvutis probleeme on, kuid loodetavasti on tulemas lihvitud väljaandeid.

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
  • Kõigi aegade halvimad arvutipordid – ja miks need nii halvad olid
  • Star Wars Jedi: Survivorit pommitatakse Steamis kui "täielikku jama" arvutiporti
  • Kuidas Unreal Engine 5 tegeleb arvutimängude suurima probleemiga
  • AI on saadaval teie arvutimängude jaoks, kuid peaksite olema põnevil, mitte muretsema