![](/f/6c39e19879e8a0cc2150fe07bcc77454.jpg)
![respec dt imaginea prezentată 2](/f/9b57fa7ac2b85d34a0927d7d0169f39e.jpg)
Când se uită la starea lansărilor PC-ului în 2023, este ușor să începi să arăți cu degetul. Jocul nu este optimizat (indiferent ce înseamnă asta), sau editorul l-a grăbit prea repede sau plăcile grafice pe care Nvidia ne-a vândut vin cu prea puțină VRAM. Dar aceste acuzații, în cele mai multe cazuri, sunt pe jumătate coapte și prezumtive și, deși fac aluzie la realitate, nu spun întreaga poveste.
Cuprins
- Care este problema?
- Ce poți face corect
- Calea de urmat pentru porturile pentru PC
Videoclipuri recomandate
Am vrut să știu ce se întâmplă de fapt, așa că m-am așezat cu câțiva dezvoltatori pentru a înțelege starea jocurilor pentru PC și de ce au ajuns atât de multe lansări cu probleme atât de mari. Mai important, am vrut să știu ce ar putea face dezvoltatorii și editorii pentru a rezolva aceste probleme, și, deși calea de urmat nu este clară, devine evident că dezvoltatorii știu că există o problemă.
Care este problema?
![Un mic PC de jocuri care se află lângă PS5.](/f/38fd90ae9d443b3b08abb025f150200e.jpg)
În primul rând, trebuie să identificăm problema principală cu PC-ul, mai ales atunci când jocurile sunt livrate în stări jucabile (dacă nu perfecte) pe console, dar ajung îngrozitor de stricate pe PC. La un nivel înalt, problema cu PC-ul ca platformă este exact ceea ce îl face atât de atrăgător în primul rând: flexibilitatea.
Legate de
- Cu parteneriate exclusive pentru PC, toată lumea pierde
- Consolele au încă un mare avantaj și dăunează jocurilor pe computer
- Cum un joc viral de bodycam a păcălit internetul să creadă că sunt imagini reale
Marc Whitten, vicepreședinte senior și director general al Unity Create, spune că „diversitatea și variabilitatea absolută a configurațiilor PC pe care se vor juca jocurile... poate cu siguranță expune probleme neașteptate.” Whitten indică, de asemenea, „sisteme de operare diferite și actualizări noi de drivere, căldură și latență și personalizarea utilizatorului” ca factori care pot juca în această problemă.
Acesta este răspunsul, sunt sigur, pe care majoritatea oamenilor îl presupun că este explicația.
Dar problema, potrivit lui Whitten, nu este lipsa testării în sine. El afirmă că jocurile sunt „în general testate extensiv pe parcursul dezvoltării”. Problema se rezumă la amploarea diferitelor configurații pe care dezvoltatorii trebuie să le testeze, precum și variabilele pe care nu le pot lua în considerare pentru.
Ca experiment de gândire, să presupunem că un dezvoltator a stabilit 100 de configurații diferite de PC pentru a testa, variind CPU, GPU, RAM, și hard disk între ele. Pentru înregistrare, acesta este un număr pe care tocmai îl scot, nu ceva la care un dezvoltator a menționat de fapt ca un obiectiv realist. Acum, luați toate aceste configurații și înmulțiți-le cu zeci de factori suplimentari: Ce sistem de operare utilizați? Ce versiune a acelui sistem de operare? Ce zici de versiunea de driver? Ce setări BIOS sunt activate? Aveți vreun software care rulează în fundal, cum ar fi Razer Synapse sau Corsair iCue?
![RTX 4080 într-un banc de testare de rulare.](/f/66826887ea962c6dbea9a6986dfb918d.jpg)
Sfera configurațiilor posibile depășește cu mult CPU și GPU pe care le aveți în sistemul dvs. și acești factori se pot multiplica cu ușurință în zeci de mii de scenarii pe care dezvoltatorii pur și simplu nu le pot lua în considerare pentru. Într-o lume ideală, dezvoltatorii pot rezolva cele mai mari probleme pentru cele mai populare configurații de PC cu cele mai noi actualizări ale driverelor și ale sistemului de operare, lăsând doar probleme mici și specifice de rezolvat după lansare.
Nici Whitten nu este singura cu acest sentiment. John Johanas, director de joc al Hi-Fi Rushși The Evil Within 2, spune că „este destul de nerealist să crezi că poți face un produs care va funcționa impecabil pe ceea ce se simte ca o configurație nelimitată de procesoare, GPU-uri, memorie și, mai probabil, ceea ce rulează în fundal."
Hideyuki Miyashita, programator de sisteme activat Hi-Fi Rush, a fost de acord, dar a subliniat în mod specific costul optimizării unui joc pentru fiecare configurație posibilă: „În în ceea ce privește performanța PC-ului, făcând fiecare caracteristică grafică scalabilă pentru diferite configurații ar fi ideal; cu toate acestea, costurile de dezvoltare pun un plafon superior pentru suportul realist de scalabilitate.”
Aceasta nu este o poveste nouă. Gama mare de configurații pentru PC este vinovat comun în toate, de la cât de dificil este să optimizați jocurile pe PC până la motivul pentru care nu am văzut Reluarea rapidă a Xbox apare în Windows. Întrebarea este ce pot face dezvoltatorii în ciuda timpului și banilor limitati de care dispun. Pentru că PC-urile nu devin mai simple, iar jocurile încă ajung pe platformă stricate.
Ce poți face corect
![Cal Kestis mânuind sabia sa laser albastră și purtând BD-1 în Star Wars Jedi: Survivor.](/f/08231ecead3acaafb623daa534b490d1.jpg)
Avem o mulțime de exemple de jocuri care nu acceptă PC-ul în acest an. Un prim exemplu este Star Wars Jedi: Survivor, care în prezent se află la starea de revizuire „mixtă”. pe Steam, în ciuda faptului că este unul dintre cele mai apreciate jocuri ale anului. Recenzia de top spune: „O singură blocare mi-a corupt fișierul de salvare de 140 de ore 99,8% NG+.” Da.
Am contactat echipa de dezvoltare pentru a-mi face o idee despre ce a mers prost și, deși au fost inițial receptivi, EA a intervenit și a încetat să-mi mai returneze e-mailurile. Deci, în loc să ne uităm la ce jocuri fac greșit pe PC, trebuie să ne uităm la ce fac dezvoltatorii bine.
Hi-Fi Rush este un prim studiu de caz. Este un joc nou de la un studio AAA și folosește infamul Unreal Engine 4. Ai putea crede că se compară mărul cu portocalele între ele Hi-Fi Rush și un joc ca Star Wars Jedi: Survivor, dar au mai multe în comun decât ai putea bănui. După cum subliniază Johanas, „...faptul că jocul are o estetică de desene animate le va oferi unor utilizatori percepția că jocul nu ar trebui să fie o problemă pentru a rula pe computerul nimănui. În mod realist, jocul face o mulțime de lucruri pentru a obține aspectul pe care l-am dorit și în mod constant lume în mișcare, care este foarte solicitantă... Știam că intrăm și m-am asigurat că încercăm să le atingem așteptări."
![Chai lovește un robot în Hi-Fi Rush.](/f/d7148f544b08ddfc1a1fc5d181092747.jpg)
Stabilirea acestui obiectiv de la început mi s-a părut importantă Hi-Fi Rushstabilitatea lui. Dezvoltatorii notează că a fost un obiectiv de design de la început să mențină cel puțin 60 de cadre pe secundă (fps) datorită faptului că este atât un joc de ritm, cât și un joc de acțiune, în care lipsa acestui punct ar cauza „sughițuri [care] ar putea duce la o desincronizare a muzicii și o experiență de joc percepută slabă”, potrivit Johanas.
Cum a reușit echipa de la Tango Gameworks? Pe scară largă se rezumă la trei puncte principale: monitorizare atentă a VRAM, operațiuni asincrone și stocarea în cache PSO.
Potrivit lui Kosuke Tanaka, programator principal de grafică pentru Hi-Fi Rush, echipa a monitorizat utilizarea VRAM pe parcursul fiecărei etape de dezvoltare. Aceasta include monitorizarea fiecărui nivel, desigur, dar și a utilizării VRAM a fiecărei secțiuni de artă, cerând artiștilor să reducă utilizarea texturii sau a memoriei mesh pentru a se încadra în bugetul jocului. Acest lucru nu este neobișnuit nici în dezvoltarea jocurilor.
Ce funcționează în Hi-Fi RushFavoarea lui este direcția sa artistică puternică. După cum subliniază Tanaka: „Stilul nostru de artă ne-a ajutat puțin, deoarece nu avem nevoie de texturi PBR tradiționale, cum ar fi hărți normale, rugozitate. hărți sau hărți metalice.” Este o dovadă a lucrului cu limitări creative și a modului în care aceasta poate influența stabilitatea finalei produs. Johanas spune că nu a fost o chestiune de anvergură mai mică - a fost o chestiune de a avea „nu ai nevoie să faci mare lucru fără motiv”.
Am întrebat echipa de la ce a învățat Hi-Fi Rush că s-ar putea desfășura în proiecte mai mari și mai ample, dar nu tocmai așa preia Tango lecții din joc. De fapt, echipa de dezvoltare mi-a spus că a învățat mult mai multe despre optimizare de la Ghostwire: Tokyo, care se încadrează în mai multe modele tradiționale AAA și a dus acele idei în Hi-Fi Rush, nu invers.
![Akito atacă inamicii cu magie în Ghostwire: Tokyo.](/f/486888e73fd18f0dfbe62f221e5a61f2.jpg)
„Am învățat multe din cunoștințele noastre despre cum să ne ocupăm de bâlbâiala în joc Hi-Fi Rush din experiența noastră de optimizare Ghostwire: Tokyo”, mi-a spus Miyashita. O mare parte din asta a fost Memorarea în cache a obiectului de stare a conductei (PSO).. Aceasta este o caracteristică disponibilă în Unreal Engine 4 care ajută la reducerea bâlbâirii prin precompilarea shaderelor înainte de a rula jocul.
Problema principală este că Unreal Engine 4 nu face acest lucru automat, ceea ce duce la situații în care shaders-ii trebuie să se compileze în timp ce joci jocul, ceea ce provoacă o bâlbâială. Miyashita spune că „acest lucru a dus la unele procese post și VFX pentru a provoca bâlbâială”. Programatorul spune, de asemenea, că stocarea în cache PSO este opțională, așa că trebuie să fie un accent specific pentru dezvoltator.
Totuși, memorarea în cache nu rezolvă toate problemele și aici intervin operațiunile asincrone. The Hi-Fi Rush echipa a folosit compilarea asincronă - unde shaders-urile sunt compilate separat de firul de joc - dar a fost, de asemenea, o mare atenție, având în vedere că jocul rula pe Unreal Engine 4.
După cum am văzut cu alte jocuri Unreal Engine 4, cum ar fi Star Wars Jedi: Survivor și Redfall, motorul nu este foarte bun în ceea ce privește scalarea la numeroasele fire disponibile pe procesoarele moderne. Ca Miyashita explică: „Cât de dificilă poate fi suportul multi-threading depinde foarte mult de motorul utilizat arhitectură. Din păcate, UE4 este puțin scurt în acest sens.”
În special, Unreal Engine 4, conform dezvoltatorului, plasează creația de actor (obiecte/personaje) și widget (UI și suprapunere) pe același fir CPU ca și jocul. Asta înseamnă că ori de câte ori jocul dorește, de exemplu, să încarce un nou personaj, acesta are prioritate pe fir. Miyashita spune că „acest lucru poate duce la crearea complexă de actori și widget-uri care blochează firul de joc pentru o lungă perioadă de timp”. Asta este o bâlbâială.
Soluția este operațiile asincrone. Miyashita spune că echipa folosește instrumente de analiză pentru a identifica ceea ce face CPU pe măsură ce sunt aduse obiectele și că fac un efort pentru a muta acele sarcini în fire diferite, astfel încât jocul să nu încetinească jos. Această direcționare specifică poate ajuta și la încărcarea resurselor. Mutarea acelor operațiuni într-o structură paralelă poate evita capcanele bâlbâiilor în flux prezente în jocuri precum Spațiu mort.
Calea de urmat pentru porturile pentru PC
![Layla se protejează cu o umbrelă spectrală în Redfall.](/f/b7dbfb2b4c17c82dae5d816eb9ccf2bd.jpg)
Jocurile care ies astăzi în stări dezastruoase și-au început dezvoltarea cu ani în urmă, așa că, deși am speranță că lansările pentru PC se vor îmbunătăți pe măsură ce anul continuă, ar putea trece câțiva ani până când vom vedea aceste probleme de bază adresat.
Whitten spune că „dezvoltatorii sunt la fel de preocupați de performanță ca și jucătorii”, iar acesta este un sentiment pe care l-am auzit de mai multe ori. Există modalități de optimizare a lansărilor pentru PC, de la shadere pre-caching la operațiuni asincrone până la validare pe o mare varietate de hardware. Dar realitatea este că dezvoltatorii nu pot explica totul, din cauza timpului sau a banilor și, de obicei, ambele.
Calea de urmat aici este simplă. Mai întâi, spuneți editorilor acestor jocuri că preferați să vedeți o întârziere decât un joc întrerupt. A striga la dezvoltatori nu va face mare lucru - ei cunosc deja problema și probabil că și-ar dori să se rezolve la fel de mult și tu. În al doilea rând, aveți grijă să alegeți un nou joc pentru PC în ziua lansării. Este greu să ai răbdare când aștepți cu nerăbdare ceva (crede-mă, știu), dar aștepți să cumperi un joc până când problemele au fost rezolvate trimite un semnal puternic editorilor să investească mai mult timp și resurse pentru a se asigura că jocurile sunt lustruite pe PC.
Este ușor să uiți că acesta este încă un teritoriu neexplorat. Acum, mai mult ca niciodată, jocurile ajung pe PC în aceeași zi în care ajung pe console, mult spre deosebire de acum câțiva ani, unde porturile pentru PC au ajuns luni (sau chiar ani) mai târziu. În urmă cu două generații de consolă, majoritatea jocurilor erau livrate doar în aceeași zi pe o singură platformă; în generația anterioară, erau două. Acum, se așteaptă ca dezvoltatorii să livreze cel puțin trei platforme în aceeași zi și, uneori, până la cinci dacă au o versiune de ultimă generație.
Nu este greu de înțeles de ce există probleme pe PC, având în vedere acest context, dar sperăm că sunt pe cale de lansări mai sofisticate.
Acest articol face parte din Respec – o coloană bisăptămânală care include discuții, sfaturi și rapoarte aprofundate despre tehnologia din spatele jocurilor pe computer.
Recomandările editorilor
- Am încercat să retrăiesc moștenirea uitată a lui Halo ca franciză Mac - și a fost un dezastru
- Cele mai proaste porturi pentru PC din toate timpurile - și de ce au fost atât de proaste
- Star Wars Jedi: Survivor este bombardat de recenzii pe Steam ca fiind un port pentru PC „prostie totală”.
- Cum Unreal Engine 5 abordează cea mai mare problemă a jocurilor pe computer
- AI vine pentru jocurile tale pe computer, dar ar trebui să fii entuziasmat, nu îngrijorat