Förra året var en katastrof för PC-spel – här är hur saker och ting måste förändras

Förra året var en katastrof för PC-spel – här är hur saker och ting måste förändras

Källnod: 1893511

2022 var ett tufft år för PC-portar. Mellan stammande prestandaproblem och irriterande problem med användarupplevelsen var jag nästan trasig som recensent för Digital Foundry. För att börja året med en ny tabell, tänkte jag att det skulle vara en bra idé att sätta ihop en sorts checklista för bästa praxis för att skapa en PC-port. När jag skapade den här listan över vad jag bör och inte får göra, har jag åberopat min erfarenhet av att recensera hundratals titlar under mina fyra år på Digital Foundry.

Listan är definitivt inte uttömmande eftersom jag försöker fokusera på de viktiga kärnaspekterna av en PC-port. Det finns massor av andra bästa praxis jag kan föreslå utöver detta - inga launchers inifrån launchers, till exempel. Inga inloggningar till andra onlineplattformar för att lansera ett spel på Steam skulle vara en annan. Jag skulle också vilja se någon sorts branschövergripande standardisering när det gäller att presentera rekommenderade specifikationer som faktiskt informerar den potentiella köparen om vilken typ av system de behöver för att köra spelet bra – det nuvarande systemet är meningslöst utan sammanhanget med upplösning och prestationsförväntningar. Det finns helt klart mycket att ta itu med – men mitt fokus här ligger helt enkelt på att leverera en stark, kompetent PC-port.

Vissa av mina förslag är mer tekniskt rigorösa, andra är lågt hängande frukter: men viktigast av allt är alla genomförbara och jag har exempel som backar upp dem. Jag rekommenderar också att du tittar på videon – när allt kommer ihop i en väldisponerad PC-port är det som poesi. Inställningsmenyn Days Gone är till exempel häpnadsväckande bra. Men för vår första punkt, vi kickar igång med den stora.

Alex Battaglia presenterar sina förslag för att förbättra tillståndet för PC-portar, efter ett förfärligt 2022.

1. Eliminera shader kompilering stamning

Du kanske har varit medveten om min #StutterStruggle under det senaste året. Det är situationen där spelet, oavsett hur kraftfull din PC-hårdvara är, regelbundet avbryts av stamning som inte finns i konsolversionerna av samma spel. En av de största styrkorna i PC-plattformen är mångfalden av hårdvara – men vad detta betyder är att utvecklare inte kan skicka förkompilerad shader-kod med sina spel på samma sätt som de gör på konsoler. Vad som händer i ett stort antal spel på PC är att dessa shaders kompileras under spelandet, eftersom de behövs. Medan det händer fryser spelet – allt från 30 ms till en hel sekunds paus börjar, beroende på spelet och styrkan på din CPU. Frekvensen av dessa stamningar är vanligtvis oacceptabel i berörda titlar.

Detta kan elimineras, och hur det uppnås är inte alltför viktigt, ärligt talat. Shaders kan kompileras med ett förkompileringssteg som ses i Uncharted: Legacy of Thieves-samlingen på PC, vilket gör att du väntar upp till 10 minuter på en kraftfull CPU och ännu längre på en mellanklass. Shaders kan också kompileras asynkront i bakgrunden på processorn, som man kan se i Star Citizen och Horizon Zero Dawn. Ett spel kan också använda en kombination av förkompilering och asynkron kompilering som Spider-Man Remastered. Poängen är att allt och allt bör göras för att förbereda en shader genom att värma den på något sätt innan den behövs.

Det här objektet på listan kräver definitivt lite teknisk rigor och eftertanke, men det är förmodligen den viktigaste punkten på listan för tillfället, med tanke på hur katastrofal situationen har varit den senaste tiden. Ett annat tips jag har här för shader-kompilering är att om det finns ett långt förkompileringssteg och du är orolig för en dålig användarupplevelse medan de väntar, gör då förkompileringssteget avbrytbart eller valfritt, med en varning om att användaren kommer att uppleva stamning om de väljer att inte vänta på förkompilering. Modern Warfare 2 låter användare avbryta och kompilera om shaders när de vill genom att klicka på en knapp – och det är fantastisk design.


Shader kompilering stammar i Kena: Bridge of Spirits. Explosionen är en ny effekt som inte setts tidigare, så ny shader-kod genereras mitt i spelet, här orsakar en frysning på strax under 200ms.

2. Leverera visuellt responsiva grafiska alternativ

Inställningsmenyn är en avgörande del av en PC-port, men det är också ett fullständigt mysterium för de flesta spelare. Vad gör alternativen egentligen? Vad är omgivande ocklusion exakt? Hur mycket prestanda sparar jag genom att ändra alternativ? Vägen framåt är att inkludera en grafikmeny som ger responsiv visuell feedback. Som nämnts tidigt är grafikmenyn i Days Gone ett mästerverk - utan tvekan toppen av grafikmenydesign.

Du kan ändra alternativ i menyn medan spelvärlden fortfarande renderas bakom menyn och i det övre hörnet är det möjligt att se prestandaeffekten av det som ändras i realtid. Jag rekommenderar på allvar att emulera den här stilen av grafisk meny – det är viktigt att ha en meny som denna eller den som finns i Spider-Man Remastered som är väldigt lik eftersom den tillåter användaren att se ändringarna i den grafiska presentationen i realtid så de kan enkelt se effekten på bilder och prestanda. Att behöva gå in och ut ur en meny, eller ännu värre, ladda om spelet efter en inställningsändring gör det nästan omöjligt att ändra inställningar på ett meningsfullt sätt.

Om detta är problematiskt att implementera finns det alternativ: inkludera beskrivande text, visuella indikatorer och till och med prestandatips om vilken PC-komponent som är mest stressad av att inställningarna ändras. Gears 5 gör detta på PC och det ger stor inblick i vad grafiska alternativ gör. Många användare tenderar att tro att ett spels prestanda är helt begränsad av vilken GPU de har, när i själva verket CPU och mängden videominne som används kan vara lika avgörande för att uppnå bra prestanda.


Interaktiva grafikinställningar menyer som visar dig i spelet vad förändringarna är – och prestandakostnaden – är vägen framåt. Days Gones menyer är ett mästerverk.

3. Inkludera förnuftig, konventionsdriven menynavigering

Tusentals spel under de senaste 30 åren på PC har haft menyer och under den tiden har många konventioner uppstått – och det är viktigt att hålla fast vid detta etablerade "språk" för navigering. Till exempel bör ESC eller backsteg alltid backa dig bort från en menysida. Piltangenterna och även WASD bör kunna användas för att navigera i en meny utan att använda en mus. Alt+ F4 ska alltid avsluta spelet till skrivbordet. Det finns förstås fler av dessa konventioner, men kärnan är att användare ska kunna styra spelmenyn snabbt, antingen med en mus eller ett tangentbord genom sin ensamma och den ska använda intuitiva, etablerade kontroller.

4. Kapsla inte menyer för mycket

Grafiska alternativ, kontrollanpassning eller andra ofta växlade saker bör vara högst tre menyer djupa, men helst bara en eller två. Till exempel, om du vill ändra kvaliteten på en visuell effekt ska du inte behöva gå till alternativ, sedan videoalternativ, sedan singulära undersidor för varje typ av grafiskt alternativ. Istället borde det helt enkelt vara att gå till alternativ, videoalternativ och sedan se de flesta, om inte alla, av de grafiska alternativen där. Om möjligt, undvik också att rulla på alternativmenyn. Scrollning kan vara lite långsam och det döljer alternativ ibland. Ett bra exempel på en icke-rullande meny finns i Arma 3. Det här spelet undviker att rulla genom att använda både vänster och höger sida av skärmen och med mindre textstorlek – det använder skärmens fastigheter. Detta skiljer sig ganska mycket från de vänsterjusterade alternativen med stor text som vi ser i många portar till PC.

5. Uppdateringshastighet och upplösning bör vara separata alternativ

Listan över upplösningar och uppdateringsfrekvenser bör skanna den tillgängliga listan med upplösningar och uppdateringsfrekvenser från själva Windows. Allt för ofta laddar jag upp ett spel bara för att upptäcka att uppdateringsfrekvensen i spelet inte ens är listad och ett antal upplösningar saknas. Dessutom bör en användare kontrollera när uppdateringsfrekvensen ändras genom att tillämpa den: antingen genom att backa ut från menyn eller trycka på "apply". Använd inte automatiskt en upplösning efter att den har ändrats: till exempel i de senaste Capcom-titlarna, om du flyttar musen från upplösningsalternativet ändras den automatiskt till den senast valda, även om du inte vill det.

Ett bra motexempel finns i Marvels Spider-Man Remastered, som gör det på ett mer logiskt sätt - upplösningsalternativet är separat och visar varje enskild upplösning som Windows listar, sedan finns det ett annat alternativ helt och hållet att ändra uppdateringsfrekvensen för den valda upplösning – upplösningen tillämpas bara när användaren vill att den ska vara det. Spel som begränsar upplösnings- och uppdateringsalternativen till de nuvarande Windows-skrivbordsinställningarna är ett särskilt problem som måste elimineras.


Marvels Spider-Man Remastered får det rätt – oberoende alternativ för upplösning och uppdateringsfrekvens... och full kontroll över fönster- och helskärmslägen.

6. Inkludera ett synfältsalternativ (FOV).

Ett smalt synfält finns ofta i konsolspel för att skapa klaustrofobiska stämningar eller för att spara på prestanda – och kan bokstavligen göra PC-användare sjuka. Ett synfältsalternativ gör spelet faktiskt spelbart för många användare där standard-FOV kan ha varit för smal. Återigen är Days Gone-menysystemet en fröjd att använda här – när du justerar FOV-variabeln ändras vyn i bakgrunden i realtid, vilket gör att användaren kan justera efter sina exakta preferenser.

7. Inkludera variabla bildförhållanden och bildhastigheter

I stort sett börjar detta bli vanligt, men det finns fortfarande spel som inte rymmer den enorma variationen i skärmtyper som är öppna för PC-användare. Inte alla PC-spelare kommer att använda en 16:9-skärm låst till 60Hz eller 120Hz. Många kommer att spela på ultra breda skärmar eller på skärmar som kan gå upp till 240Hz eller ännu högre. Att stödja dessa bildförhållanden och uppdateringsfrekvenser innebär att dessa användare får en bekväm upplevelse som de förväntar sig av sin hårdvara.

Den större poängen här är att PC:n är en plattform med variabel hårdvara och för att stödja PC ordentligt bör ingenting kodas för att vara en fast upplevelse som det är med konsoler. Användare kommer att vilja spela spel med vilken bildhastighet du kan tänka dig eller vilket bildförhållande som helst du bör föreställa dig: Jag älskar att spela moderna spel på en 4:3 CRT-skärm, till exempel. Så att knyta saker som spellogik till bildhastighet eller UI till fasta pixelrutnät är kategoriskt en dålig idé.

8. Inkludera halv-, tredje- och kvartshastighets v-sync-alternativ med konsekvent ramtempo

Många spel har bildhastighetsbegränsare, men dessa har ofta riktigt dålig bildhastighet med v-sync inkopplad, där den genomsnittliga bildhastigheten kan vara det valda numret, men bildtiderna som utgör bildfrekvensen är inkonsekventa, vilket leder till till en visuellt dålig upplevelse med inkonsekvent latens.

Ett bra exempel på hur man gör det på rätt sätt finns i Cyberpunk 2077 – här finns det ett separat frame-limiter-alternativ med godtycklig ramhastighetsbegränsning, men det finns omfattande v-sync, halv uppdateringsfrekvens v-sync, en tredjedels hastighet v-sync och kvartshastighet v-sync. Med ett sådant alternativ kan användare få perfekt frame-pacing när de begränsar sin FPS, och de kan göra saker som att spela i 40fps vid 120Hz, vilket är en fantastisk funktion för de som letar efter en högre bildhastighet än 30 men som vill öka inställningar.


Justerbara v-sync-alternativ med konsekvent ramtempo möjliggör saker som detta – en maxad Cyberpunk 2077 som körs låst med stadiga 40fps (25ms per bildruta) i en 120Hz-behållare.

9. Inkludera flera kvalitetsnivåer för tunga effekter

Enkla på/av-växlar för tunga funktioner som strålspårning räcker inte: jag skulle vilja se låga, medelhöga och höga alternativ för varje RT-effekt. Ett exempel på hur man inte gör det finns i The Witcher 3 Complete Edition på PC, där det bara finns på och av alternativ för de olika strålspårningseffekterna. Detta har lett till att användare har gjort anpassade modförinställningar för RTXGI som finns i spelet för att minska dess kvalitet för att få det att fungera bättre på RT-kompatibla GPU:er med lägre specifikationer. Detta är ett uppenbart exempel på ett alternativ som borde finnas i grafikmenyn. Kontroll är ett annat exempel där konsoloptimeringar – schackbräde RT-reflektioner – aldrig tar sig över till PC. En funktion som fungerar för konsoler har alltid nytta på PC också.

På samma sätt bör RT-effekter även skalas för att rymma avancerade GPU:er – ett exempel på hur man inte gör detta finns i Capcom-spel på RE Engine, där den högsta inställningen för strålspårning i spelet är av en bisarrt låg kvalitet. Marvels Spider-Man Remastered har rätt: du kan styra upplösningen för RT-reflektionseffekten, du kan kontrollera kvaliteten på modellerna i RT-reflektionerna, och avgörande kan du också kontrollera avståndet och densiteten för de objekt som strålspåras mot, vilket tillåter användare att kontrollera effekten av strålspårning på deras CPU-prestanda. Att kunna kontrollera BVH-intervallet och densiteten är avgörande i den moderna eran där CPU-hastigheten inte ökar lika snabbt som den gjorde tidigare.

10. Inkludera konsolfunktioner som dynamisk upplösningsskalning

Dynamisk upplösningsskalning är inte omöjlig på PC – det finns många exempel på bra DRS på PC. Titanfall 2 har en av de bästa dynamiska upplösningsskalarna som finns och den är komplett på PC och fungerar precis som konsolversionen. Detta är ett DX11-spel vilket innebär att Respawn implementerade ett dynamiskt upplösningsschema av otroligt hög kvalitet på PC även om de tekniskt sett hade mindre kontroll över de tillgängliga PC-resurserna som DX12 eller Vulkan kunde erbjuda dem. Om en implementering av så hög kvalitet är tillgänglig i det här scenariot, finns det egentligen ingen bra ursäkt för att en konsolversion av ett spel ska ha DRS men för PC-versionen att utelämna det.


Titanfall 2:s DRS-system portades från konsolversionerna men har lagt till funktionalitet på PC. Det är ett lysande exempel på hur man implementerar funktionen – och dess kvalitet i spelet är fantastisk.

11. Inkludera HDR och surroundljud om konsolversionerna stöder det

Alla datorer är inte anslutna till en vanlig skrivbordsmonitor med hörlurar på sig – många använder sina datorer med TV-apparater med hemmabioinställningar, där HDR och surroundljud är framträdande. Grundregeln är - om du gör en funktion på konsolen, gör det på PC.

12. Inkludera konsolliknande inställningar som ett alternativ

Om spelet är på konsolen och har anpassade konsolinställningar för att få det att fungera bra där, inkludera en lätt identifierbar "konsol"-inställning på PC också. Den senaste God of War PC-porten gjorde detta riktigt bra: där kallas konsolinställningarna "original" och spelet börjar med dessa inställningar som standard. Detta är väldigt smart eftersom inställningarna som valts för konsolversionen av ett spel generellt ger tillräckligt bra visuellt utseende för acceptabel prestanda.

Mina guider för optimerade inställningar genererar ofta nästan identiska inställningar som konsolversionerna körs på. Ett spels grafiska alternativ bör exponera konsolinställningar på ett transparent sätt. Effektivt sett är konsolliknande inställningar utvecklarens val för bästa "bang for the buck" på ett mellanregistersystem, så varför inte erbjuda fördelarna med den visdomen till PC-spelare också? Dessa inställningar erbjuder också en bra utgångspunkt för PC-användare att justera baserat på kapaciteten hos sin egen hårdvara.

13. Stöd alla större bildrekonstruktionstekniker

Varje GPU-leverantör har sin egen bildrekonstruktionsteknik: Nvidia har DLSS, Intel har XeSS och AMD har FSR2. Var och en av dessa tenderar att fungera bäst på sin respektive hårdvara, och de använder alla liknande ingångar när de ansluts till en spelmotor. År 2023 borde det inte vara acceptabelt att ett spel lanseras med stöd för endast en av dessa bildrekonstruktionstekniker, men inte de andra. Och jag tror verkligen inte att det spelar någon roll vilken GPU-leverantör som sponsrar spelet: en AMD-sponsrad titel bör fortfarande stödja XeSS och DLSS, medan det inte finns någon anledning till varför en Nvidia-stödd titel inte skulle stödja XeSS eller FSR2 – särskilt som det fortfarande finns många användare på GTX 900- och GTX 1000-seriens GPU:er som kan utnyttja dessa teknologier.

Med det i åtanke är det en besvikelse att se Callisto-protokollet endast levereras med FSR2 när Unreal Engine stöder alla uppskalningsteknologier. Det är lika frustrerande att se A Plague Tale: Requiem endast leverera DLSS-stöd när en utvecklare av Asobos kvalitet enkelt kan ta emot liknande teknologier. Det som knyter ihop dessa spel är att de verkligen pressar grafiken hårt – och all form av accelerationsteknik som öppnar dörren till jämnare prestanda bör omfamnas.


Integrering av både FSR2 och DLSS2 i spel som stöder uppskalning av bildrekonstruktion borde vara en självklarhet – och inkluderar även Intels XeSS. Dessa är mördande funktioner som inte bör begränsas till en GPU-leverantörs implementering.

Som jag sa i början av det här stycket var 2022 ett riktigt hemskt år för PC-spel där jag och teamet nådde den punkt där vi fruktade ankomsten av en ny PC-port. Elden Ring anlände i ett ganska katastrofalt tillstånd, många Unreal Engine 4-titlar nådde oss med outhärdliga problem med stamning, som kulminerade i ankomsten av en bokstavligen ospelbar version av The Callisto Protocol.

Jag lägger fram dessa förslag i hopp om att Digital Foundrys profil kan påverka förändringar – och för att vara rättvis har det funnits några positiva tecken. Callisto-protokollet på PC har fortfarande djupa CPU-användningsproblem, men stamningen är ett minne blott tack vare ett shader-kompileringssteg som lagts till i spelet efter lanseringen, precis som jag föreslår i den första punkten ovan. Andra UE4-titlar som Sackboy: A Big Adventure och High on Life fick också uppdateringar efter lanseringen som försökte lösa problem med shaderkompilering. När jag diskuterade Fortnites Unreal Engine 5.1-uppgraderingar kunde jag prata direkt med Epic Games om det här problemet och jag hoppas att saker och ting kommer att förbättras.

Men även om DF:s #StutterStruggle är i framkant av frågorna, är faktum att det bara är en av nyckelpunkterna av flera som bör åtgärdas. Det finns ingen enstaka "plattformshållare" i PC-utrymmet, så bästa praxis och faktiska tekniska krav kan inte tillämpas på det sätt som de är på Sony, Microsoft och Nintendo-konsoler. Trots det, även om listan ovan kan verka som mycket arbete, men i verkligheten handlar det om att ge samma typ av uppmärksamhet åt en PC-port som ofta ges till konsolversionerna och leverera ett spel som inte bara fungerar bra på hårdvara i dag, men står sig genom tiderna under de följande decennierna.


För att se detta innehåll, aktivera inriktningscookies.

Tidsstämpel:

Mer från Eurogamer