Fjoråret var en katastrofe for PC-spill – her er hvordan ting må endres

Fjoråret var en katastrofe for PC-spill – her er hvordan ting må endres

Kilde node: 1893511

2022 var et tøft år for PC-porter. Mellom stammende ytelsesproblemer og irriterende brukeropplevelsesproblemer, ble jeg nesten ødelagt som anmelder for Digital Foundry. For å starte året med en ny tavle, tenkte jeg at det ville være en god idé å sette sammen en slags sjekkliste for beste praksis for å lage en PC-port. Da jeg genererte denne listen over hva jeg må og ikke må, har jeg brukt min erfaring med å gjennomgå hundrevis av titler gjennom mine fire år hos Digital Foundry.

Listen er definitivt ikke uttømmende da jeg prøver å fokusere på de viktige kjerneaspektene ved en PC-port. Det er mange andre beste fremgangsmåter jeg kan foreslå utover dette – for eksempel ingen lansere fra bæreraketter. Ingen pålogging til andre nettplattformer for å lansere et spill på Steam ville være en annen. Jeg vil også gjerne se en slags bransjeomfattende standardisering ved å presentere anbefalte spesifikasjoner som faktisk informerer den potensielle kjøperen om hva slags system de trenger for å kjøre spillet godt – det nåværende systemet er meningsløst uten konteksten av oppløsning og ytelsesforventninger. Det er klart at det er mye å ta tak i – men mitt fokus her er ganske enkelt å levere en sterk, kompetent PC-port.

Noen av forslagene mine er mer teknisk strenge, andre er lavthengende frukt: men viktigst av alt er alle gjennomførbare, og jeg har eksempler for å sikkerhetskopiere dem. Jeg vil også anbefale å se videoen – når alt kommer sammen i en godt utplassert PC-port, er det som poesi. Days Gone-innstillingsmenyen er forbløffende bra, for eksempel. Men for vårt første poeng starter vi med det store.

Alex Battaglia presenterer forslagene sine for å forbedre tilstanden til PC-porter, etter et forferdelig 2022.

1. Eliminer shader kompilering stamming

Du har kanskje vært klar over min #StutterStruggle det siste året. Det er situasjonen der uansett hvor kraftig PC-maskinvaren din er, blir spillingen regelmessig avbrutt av stamming som ikke finnes i konsollversjonene av det samme spillet. En av de største styrkene i PC-plattformen er mangfoldet av maskinvare – men hva dette betyr er at utviklere ikke kan sende forhåndskompilert shader-kode med spillene sine på samme måte som de gjør på konsoller. Det som skjer i et stort utvalg spill på PC er at disse shadere kompileres under spilling, ettersom de er nødvendige. Mens det skjer, fryser spillet – alt fra 30 ms til et helt sekund med pause starter, avhengig av spillet og styrken til CPU-en din. Hyppigheten av disse stammene er vanligvis uakseptabel i berørte titler.

Dette kan elimineres, og hvordan det oppnås er ikke så viktig, ærlig talt. Shaders kan kompileres med et forhåndskompileringstrinn som vist i Uncharted: Legacy of Thieves-samlingen på PC, som gjør at du venter opptil 10 minutter på en kraftig CPU og enda lenger på en mellomtone. Shaders kan også kompileres asynkront i bakgrunnen på CPU, som sett i Star Citizen og Horizon Zero Dawn. Et spill kan også bruke en kombinasjon av forhåndskompilering og asynkron kompilering som Spider-Man Remastered. Poenget er at alt og alt bør gjøres for å forberede en shader ved å varme den på en eller annen måte før den er nødvendig.

Dette elementet på listen krever definitivt litt teknisk strenghet og omtanke, men det er sannsynligvis det viktigste elementet på denne listen for øyeblikket, gitt hvor katastrofal situasjonen har vært i det siste. Et annet tips jeg har her for shader-kompilering er at hvis det er et langt forhåndskompileringstrinn og du er bekymret for en dårlig brukeropplevelse mens de venter, så gjør forhåndskompileringstrinnet avbrytbart eller valgfritt, med en advarsel om at brukeren vil oppleve stamming hvis de velger å ikke vente på forhåndskompilering. Modern Warfare 2 lar brukere kansellere og rekompilere shaders når de ønsker det ved å klikke på en knapp – og det er flott design.


Shader-samling stammer i Kena: Bridge of Spirits. Eksplosjonen er en ny effekt som ikke er sett før, så ny shader-kode genereres midt i spillet, her forårsaker en frysing på i underkant av 200ms.

2. Lever visuelt responsive grafiske alternativer

Innstillingsmenyen er en avgjørende del av en PC-port, men den er også et fullstendig mysterium for de fleste spillere. Hva gjør egentlig alternativene? Hva er omgivende okklusjon egentlig? Hvor mye ytelse sparer jeg ved å endre alternativer? Veien videre er å inkludere en grafikkmeny som gir responsiv visuell tilbakemelding. Som nevnt tidlig, er grafikkmenyen i Days Gone et mesterverk – uten tvil toppen av grafikkmenydesign.

Du kan endre alternativer i menyen mens spillverdenen fortsatt gjengis bak menyen, og i øverste hjørne er det mulig å se ytelseseffekten av det som endres i sanntid. Jeg anbefaler seriøst å emulere denne stilen med grafisk meny - det er viktig å ha en meny som denne eller den som finnes i Spider-Man Remastered som er veldig lik fordi den lar brukeren se endringene i den grafiske presentasjonen i sanntid, så de kan enkelt se effekten på det visuelle og ytelsen. Å måtte gå inn og ut av en meny, eller enda verre, laste spillet på nytt etter en innstillingsendring, gjør det nesten umulig å endre innstillinger meningsfullt.

Hvis dette er problematisk å implementere, finnes det alternativer: ta med beskrivende tekst, visuelle indikatorer og til og med ytelsestips om hvilken PC-komponent som er mest stresset av at innstillingene endres. Gears 5 gjør dette på PC og det gir god innsikt i hva grafiske alternativer gjør. Mange brukere har en tendens til å tro at et spills ytelse er fullt begrenset av hvilken GPU de har, mens CPU-en og mengden videominne som brukes i virkeligheten kan være like avgjørende for å oppnå god ytelse.


Interaktive grafikkinnstillingsmenyer som viser deg i spillingen hva endringene er – og ytelseskostnadene – er veien videre. Days Gones menyer er et mesterverk.

3. Inkluder fornuftig, konvensjonsdrevet menynavigering

Tusenvis av spill de siste 30 årene på PC har hatt menyer og på den tiden har det oppstått mange konvensjoner – og det er viktig å holde seg til dette etablerte "språket" for navigering. For eksempel bør ESC eller backspace alltid fjerne deg fra en menyside. Piltastene og til og med WASD skal være brukbare for å navigere i en meny uten å bruke mus. Alt+ F4 skal alltid avslutte spillet til skrivebordet. Det er selvfølgelig flere av disse konvensjonene, men kjernen er at brukere skal kunne kontrollere spillmenyen raskt, enten med en mus eller et tastatur ved hjelp av dens ensomme, og den bør bruke intuitive, etablerte kontroller.

4. Ikke nes menyene for mye

Grafiske alternativer, kontrolltilpasning eller andre ting som ofte veksles, bør maksimalt være tre menyer dype, men helst bare én eller to. For eksempel, hvis du vil endre kvaliteten på en visuell effekt, trenger du ikke å gå til alternativer, deretter videoalternativer og deretter entallsundersider for hver type grafisk alternativ. I stedet bør det ganske enkelt være å gå til alternativer, videoalternativer og deretter se de fleste, om ikke alle, av de grafiske alternativene der. Hvis det er mulig, unngå også å rulle på alternativmenyskjermene. Rulling kan være litt tregt, og det skjuler alternativer til tider. Et godt eksempel på en ikke-rullende meny er sett i Arma 3. Dette spillet unngår å rulle ved å bruke både venstre og høyre side av skjermen og med mindre tekststørrelse – det bruker skjermen eiendom. Dette er ganske forskjellig fra de venstrejusterte alternativene med stor tekst som vi ser i mange porter til PC.

5. Oppdateringsfrekvens og oppløsning bør være separate alternativer

Listen over oppløsninger og oppdateringsfrekvenser skal skanne den tilgjengelige listen over oppløsninger og oppdateringsfrekvenser fra selve Windows. Altfor ofte laster jeg opp et spill bare for å finne ut at oppdateringsfrekvensen i spillet ikke en gang er oppført og en rekke oppløsninger mangler. Videre bør en bruker kontrollere når oppdateringsfrekvensen endres ved å bruke den: enten ved å gå ut av menyen eller trykke på "bruk". Ikke bruk en oppløsning automatisk etter at den er endret: for eksempel, i nyere Capcom-titler, hvis du flytter musen fra oppløsningsalternativet, endres den automatisk til den sist valgte selv om du ikke ønsker det.

Et godt moteksempel finner du i Marvels Spider-Man Remastered, som gjør det på en mer logisk måte - oppløsningsalternativet er separat og viser hver enkelt oppløsning som Windows viser, så er det et annet alternativ helt for å endre oppdateringsfrekvensen til den valgte oppløsning – oppløsningen brukes bare når brukeren ønsker det. Spill som begrenser oppløsning og oppdateringsalternativer til de gjeldende Windows-skrivebordsinnstillingene er et spesielt problem som må elimineres.


Marvels Spider-Man Remastered får det riktig – uavhengige oppløsnings- og oppdateringsfrekvensalternativer ... og full kontroll over vindus- og fullskjermmoduser.

6. Inkluder et synsfelt-alternativ (FOV).

Et smalt synsfelt finnes ofte i konsollspill for å skape klaustrofobiske stemninger eller for å spare på ytelsen – og kan bokstavelig talt gjøre PC-brukere syke. Et synsfeltalternativ gjør spillet faktisk spillbart for mange brukere der standard FOV kan ha vært for smal. Nok en gang er Days Gone-menysystemet en fryd å bruke her - mens du justerer FOV-variabelen, endres visningen i bakgrunnen i sanntid, slik at brukeren kan justere til deres nøyaktige preferanser.

7. Inkluder variable sideforhold og bildefrekvenser

I det store og hele er dette i ferd med å bli vanlig praksis, men det er fortsatt spill som ikke har plass til den enorme variasjonen i skjermtyper som er åpne for PC-brukere. Ikke alle PC-spillere vil bruke en 16:9-skjerm låst til 60Hz eller 120Hz. Mange vil spille på ultrabrede skjermer eller på skjermer som kan gå opp til 240Hz eller enda høyere. Å støtte disse sideforhold og oppdateringsfrekvenser betyr å gi disse brukerne en komfortabel opplevelse som de forventer av maskinvaren deres.

Det større poenget her er at PC-en er en plattform med variabel maskinvare og for å støtte PC-en på riktig måte, bør ingenting kodes for å være en fast opplevelse slik det er med konsoller. Brukere vil ønske å spille spill med hvilken som helst bildefrekvens du forestiller deg eller et hvilket som helst sideforhold du bør forestille deg: Jeg elsker å spille moderne spill på en 4:3 CRT-skjerm, for eksempel. Så, å knytte ting som spilllogikk til bildefrekvens eller brukergrensesnittet til faste pikselnett er kategorisk en dårlig idé.

8. Inkluder halv-, tredje- og kvarthastighets v-synkroniseringsalternativer med konsekvent rammetempo

Mange spill har rammehastighetsbegrensere, men disse har ofte veldig dårlig bildetempo med v-sync aktivert, der gjennomsnittlig bildefrekvens kan være det valgte tallet, men bildetidene som utgjør den bildefrekvensen er inkonsekvente, noe som fører til til en visuelt dårlig opplevelse med inkonsekvent latenstid.

Et godt eksempel på hvordan du gjør det riktig er funnet i Cyberpunk 2077 – her er det et eget bildebegrensningsalternativ med vilkårlig rammehastighetsbegrensning, men det er omfattende v-synkronisering, halv oppdateringsfrekvens v-synkronisering, en tredjedels hastighet v-sync og kvart rate v-sync. Med et slikt alternativ kan brukere få perfekt frame-pacing når de begrenser FPS, og de kan gjøre ting som å spille med 40fps ved 120Hz, som er en fantastisk funksjon for de som leter etter en høyere bildefrekvens enn 30, men som ønsker å skru opp innstillinger.


Justerbare v-synkroniseringsalternativer med konsekvent frame-pacing gir mulighet for ting som dette – en maksimal Cyberpunk 2077 som kjører låst med jevne 40fps (25ms per bilde) i en 120Hz-beholder.

9. Inkluder flere kvalitetsnivåer for tunge effekter

Enkle av/på-vekslinger for tunge funksjoner som strålesporing er ikke nok: Jeg vil gjerne se alternativer for lav, middels og høy for hver RT-effekt. Et eksempel på hvordan du ikke gjør det finnes i The Witcher 3 Complete Edition på PC, hvor det kun er av og på alternativer for de ulike strålesporingseffektene. Dette har ført til at brukere har laget tilpassede mod-forhåndsinnstillinger for RTXGI-en i spillet for å redusere kvaliteten for å få den til å kjøre bedre på RT-kompatible GPUer med lavere spesifikasjoner. Dette er et åpenbart eksempel på et alternativ som bør være i grafikkmenyen. Kontroll er et annet eksempel der konsolloptimaliseringer – sjakkbrett RT-refleksjoner – aldri kommer over til PC. En funksjon som fungerer for konsoller har alltid nytte på PC også.

På samme måte bør RT-effekter også skaleres for å imøtekomme avanserte GPUer – et eksempel på hvordan du ikke gjør dette finnes i Capcom-spill på RE Engine, der den høyeste innstillingen for strålesporingen i spillet er av en bisarr lav kvalitet. Marvels Spider-Man Remastered får dette rett: du kan kontrollere oppløsningen til RT-refleksjonseffekten, du kan kontrollere kvaliteten på modellene i RT-refleksjonene, og avgjørende, du kan også kontrollere avstanden og tettheten til objektene som blir strålesporet mot, som lar brukere kontrollere effekten av strålesporing på CPU-ytelsen. Å kunne kontrollere BVH-rekkevidden og -tettheten er avgjørende i den moderne tid hvor CPU-hastigheten ikke øker så raskt som den gjorde tidligere.

10. Inkluder konsollfunksjoner som dynamisk oppløsningsskalering

Dynamisk oppløsningsskalering er ikke umulig på PC – det er mange eksempler på god DRS på PC. Titanfall 2 har en av de beste dynamiske oppløsningsskalerne der ute, og den er komplett med funksjoner på PC, og fungerer akkurat som konsollversjonen. Dette er et DX11-spill som betyr at Respawn implementerte et dynamisk oppløsningsskjema av utrolig høy kvalitet på PC, selv om de teknisk sett hadde mindre kontroll over de tilgjengelige PC-ressursene som DX12 eller Vulkan kunne tilby dem. Hvis en implementering av så høy kvalitet er tilgjengelig i dette scenariet, er det egentlig ingen god unnskyldning for at en konsollversjon av et spill skal ha DRS, men at PC-versjonen utelater det.


Titanfall 2s DRS-system ble overført fra konsollversjonene, men har lagt til funksjonalitet på PC. Det er et lysende eksempel på hvordan du implementerer funksjonen – og kvaliteten på spillet er fantastisk.

11. Inkluder HDR og surroundlyd hvis konsollversjonene støtter dem

Ikke alle PC-er er koblet til en standard skrivebordsskjerm med brukeren iført hodetelefoner – mange bruker PC-ene sine med TV-er med hjemmekinooppsett, hvor HDR og surroundlyd er fremtredende. Grunnregelen er - hvis du gjør en funksjon på konsollen, gjør det på PC.

12. Ta med konsolltilsvarende innstillinger som et alternativ

Hvis spillet er på konsoll og har tilpassede konsollinnstillinger for å få det til å fungere bra der, inkluderer du også en lett identifiserbar "konsoll"-innstilling på PC. Den nylige God of War PC-porten gjorde dette veldig bra: der kalles konsollinnstillingene "original", og spillet starter med disse innstillingene som standard. Dette er veldig smart ettersom innstillingene som er valgt for konsollversjonen av et spill generelt gir gode nok visuelle utseende for akseptabel ytelse.

Mine optimaliserte innstillingsguider ender ofte opp med å generere nesten identiske innstillinger som konsollversjonene kjører på. Et spills grafiske alternativer bør avsløre konsollinnstillingene på en gjennomsiktig måte. Effektivt sett er konsolltilsvarende innstillinger utviklerens valg for den beste "bang for the buck" på et mellomtonenivåsystem, så hvorfor ikke tilby fordelene med denne visdommen til PC-spillere også? Disse innstillingene gir også et flott utgangspunkt for PC-brukere å justere basert på egenskapene til deres egen maskinvare.

13. Støtt alle viktige bilderekonstruksjonsteknologier

Hver GPU-leverandør har sin egen bilderekonstruksjonsteknikk: Nvidia har DLSS, Intel har XeSS og AMD har FSR2. Hver av disse har en tendens til å kjøre best på sin respektive maskinvare, og de bruker alle lignende innganger når de kobles til en spillmotor. I 2023 burde det ikke være akseptabelt at et spill lanseres med støtte for bare én av disse bilderekonstruksjonsteknikkene, men ikke de andre. Og jeg tror egentlig ikke det spiller noen rolle hvilken GPU-leverandør som sponser spillet: en AMD-sponset tittel skal fortsatt støtte XeSS og DLSS, mens det ikke er noen grunn til at en Nvidia-støttet tittel ikke skal støtte XeSS eller FSR2 – spesielt siden det fortsatt er mange brukere på GTX 900- og GTX 1000-seriens GPUer som kan benytte seg av disse teknologiene.

Med det i tankene er det skuffende å se at The Callisto Protocol bare leveres med FSR2 når Unreal Engine støtter alle oppskaleringsteknologier. Det er like frustrerende å se A Plague Tale: Requiem bare levere DLSS-støtte når en utvikler av Asobos kvalitet lett kan ta imot lignende teknologier. Det som knytter disse spillene sammen er at de virkelig presser grafikken hardt – og enhver form for akselerasjonsteknologi som åpner døren til jevnere ytelse bør omfavnes.


Integrasjon av både FSR2 og DLSS2 i spill som støtter oppskalering av bilderekonstruksjon bør være en selvfølge – og inkludere Intels XeSS også. Dette er mordere funksjoner som ikke bør begrenses til en GPU-leverandørs implementering.

Som jeg sa i begynnelsen av dette stykket, var 2022 et virkelig forferdelig år for PC-spilling, der jeg og teamet nådde det punktet hvor vi gruet oss for ankomsten til en ny PC-port. Elden Ring ankom i en ganske katastrofal tilstand, mange Unreal Engine 4-titler nådde oss med uutholdelige stammingproblemer, og kulminerte med ankomsten av en bokstavelig talt uspillbar konstruksjon av The Callisto Protocol.

Jeg legger frem disse forslagene i håp om at Digital Foundrys profil kan påvirke endring – og for å være rettferdig har det vært noen positive tegn. Callisto-protokollen på PC har fortsatt dype CPU-utnyttelsesproblemer, men stamming er en saga blott takket være et shader-kompileringstrinn lagt til spillet etter lansering, akkurat som jeg foreslår i det første punktet ovenfor. Andre UE4-titler som Sackboy: A Big Adventure og High on Life mottok også oppdateringer etter lansering som forsøkte å løse problemer med shader-samling. Da jeg diskuterte Fortnites Unreal Engine 5.1-oppgraderinger, var jeg i stand til å snakke direkte med Epic Games om dette problemet, og jeg håper at ting vil bli bedre.

Men mens DFs #StutterStruggle er i forkant av problemene, er faktum at det å ta tak i dette bare er ett av nøkkelpunktene av flere som bør tas opp. Det er ingen enkel "plattformholder" i PC-en, så beste praksis og faktiske tekniske krav kan ikke håndheves på den måten som de er på Sony, Microsoft og Nintendo-konsoller. Likevel, mens listen ovenfor kan virke som mye arbeid, men i virkeligheten handler det om å gi samme type oppmerksomhet til en PC-port som ofte gis til konsollversjonene, og levere et spill som ikke bare vil kjøre godt på dagens maskinvare, men tåler tidens tann i tiårene som følger.


For å se dette innholdet, vennligst aktiver målrettingscookies.

Tidstempel:

Mer fra Eurogamer