Det är den heliga graalen för dagens speldatorer: 144 fps. Du har lagt ner pengar på en fantastisk spelskärm och kopplat ihop den med den snabbaste processorn och ett av de bästa grafikkort som går att köpa för pengar. Det är så smidigt, så responsivt och du är redo att dominera dina motståndare med dina överlägsna färdigheter – eller åtminstone din högre uppdateringsfrekvens. Det finns bara ett problem. Att nå 144 fps (eller mer) i många spel är svårt, och ibland är det helt enkelt omöjligt. Vad beror det på?
Det börjar med ett spels grundläggande design och funktioner. Inte för att kasta skugga över konsoler (vad som helst, jag kastar helt och hållet skugga över konsoler), men när flera av den nuvarande generationens spelplattformar inte kan ge ut högre än 60 Hz är det bara naturligt att de spel som spelas på dem inte anstränger sig för att överstiga 60 fps – eller till och med 30 fps i vissa fall. När en spelutvecklare börjar från det perspektivet kan det vara mycket svårt att korrigera längre fram. Vi har sett spel som Fallout 4 knyta ihop fysik, rörelsehastighet med mera med framerate, ofta med oönskade resultat.
Det handlar dock inte bara om att sikta på 30 eller 60 fps. Spelens komplexitet ökar hela tiden, och komplexitet innebär att man gör fler beräkningar. Enspelarspel är vanligtvis en annan upplevelse än flerspelarspel. De senare är till sin natur mer konkurrenskraftiga, vilket innebär att högre fps kan vara mer fördelaktigt för toppspelarna, och de utelämnar ofta en massa saker som kan öka ramtiderna.
Tänk på spel som Counter-Strike, Overwatch, PUBG och Fortnite till exempel. Det finns väldigt lite AI- eller NPC-logik som behöver ske. Större delen av världen är statisk och det är bara spelarna som springer runt, vilket innebär mycket mindre overhead och i slutändan potential för högre framerates.
Primärt enspelarspel är en annan sak. Titta på miljöerna i Assassin’s Creed Odyssey, Monster Hunter World och Hitman 2. Det kan finnas hundratals varelser, NPC:er och andra enheter som måste bearbetas, var och en med olika animationer, ljud och andra effekter. Det kan fördärva även de snabbaste CPU:erna, där en stor del av bearbetningen sker.
Ja, CPU:n och inte GPU:n. Även om GPU:n ofta anses vara flaskhalsen för spelprestanda handlar det mest om att välja lämplig upplösning och grafikkvalitet. Om du skruvar ner inställningarna och/eller upplösningen tillräckligt mycket blir processorn den begränsande faktorn. Och i komplexa spel kan denna CPU-gräns lätt sjunka under 144 fps. Även om ett snabbt grafikkort ofta är nödvändigt för att nå 144 fps kan det också krävas en lika snabb CPU.
Assassin’s Creed Odyssey kan nästan nå 144 fps … med ett RTX 2080 Ti.
Hitman 2 slås in i en flaskhals för processorn på cirka 122 fps.
Monster Hunter World har också svårt att komma över 120 fps.
Se på CPU-benchmarks i Assassin’s Creed, Monster Hunter och Hitman. När de körs i 1080p och med låg eller medelhög kvalitet finns det en utmärkt skalning när det gäller CPU-prestanda, men 144 fps är fortfarande ett svårt hinder att ta sig över. Ännu viktigare är att skalningen främst kommer från klockfrekvensen, där antalet kärnor och trådar är en mindre viktig faktor – särskilt när man går bortom 6-kärniga processorer. Det beror på att de flesta spel fortfarande styrs av en enda tråd som gör en stor del av arbetet.
Växla upp saker och ting och tänk på varje bild i termer av millisekunder. För en jämn 60 fps har varje bild högst 16,7 ms grafik- och bearbetningstid. Hoppa till 144 fps och varje bild har bara 6,9 ms på sig för att få allting klart. Men hur mycket tid tar det egentligen för varje del av renderingen av en aktuell bild? Svaret är att det varierar, och detta leder till en diskussion om Amdahls lag.
Kärnan i Amdahls lag är att det alltid finns delar av koden som inte kan parallelliseras. Föreställ dig ett hypotetiskt spel där en enda Intel-kärna på 4,0 GHz tar 50 ms på sig för att hantera alla beräkningar för varje bildruta. Det spelet skulle vara begränsat till 20 bilder per sekund. Om 75 procent av spelkoden kan delas upp i deluppgifter som körs samtidigt, men 25 procent körs på en enda tråd, så skulle oavsett hur många CPU-kärnor som finns tillgängliga den bästa möjliga prestandan på en Intel-CPU på 4,0 GHz fortfarande bara vara 80 bilder per sekund. Jag gjorde lite snabb och smutsig servettmatematik för att illustrera:
Att omarbeta spelkoden så att endast 12,5 procent körs på en enda tråd, kanske till och med 5 procent, kan hjälpa. Då är 160 fps eller till och med 400 fps möjligt, men det tar utvecklartid som kanske skulle kunna användas bättre på annat håll – och CPU:er har förstås inte ett oändligt antal kärnor och trådar. Poängen är att det finns en begränsad mängd tid för att hantera all behandling av användarinmatning, speltillstånd, nätverkskod, grafik, ljud, AI etc. och mer komplexa spel kräver i sig mer tid.
Även med CPU:er på 4 GHz och snabbare som arbetar tillsammans med tusentals GPU-kärnor går 6,9 ms snabbt, och om du tittar på en 240-hz-skärm som kör spel med 240 bilder per sekund, har du bara 4,2 ms för varje bild. Om det någonsin uppstår ett hicka på vägen – t.ex. om spelet behöver ladda in några objekt eller texturer från lagret, vilket kan ta allt från några millisekunder på en snabb SSD-enhet till kanske tiotals ms på en hårddisk – kommer spelet att stuttra hårt. Det är den värld vi lever i.
Låt oss säga det på ett annat sätt. Moderna datorer kan potentiellt tugga igenom miljarder beräkningar varje sekund, men varje beräkning är extremt enkel: A + B till exempel. Att hantera en logikuppdatering för en enda entitet kan kräva tusentals eller tiotusentals instruktioner, och alla dessa AI- och entitetsuppdateringar är fortfarande bara en liten del av det som måste hända varje bildruta. Spelutvecklare måste balansera allt för att nå en acceptabel prestandanivå, och på datorer kan det innebära möjligheten att köra på allt från en gammal 4-kärnig Core 2 Quad eller Athlon X4 upp till en modern Ryzen- eller 9th Gen Core-CPU, och GPU:er som sträcker sig från integrerad Intel-grafik upp till GeForce RTX 2080 Ti.
Det är möjligt att skapa spel som kan köras med extremt höga framerates. Vi vet detta eftersom de redan finns. Men dessa spel är vanligtvis inte toppmoderna när det gäller grafik, AI och andra element. De är i grunden enklare på ibland inte så uppenbara sätt. Även om man minskar spelens och grafikens komplexitet kan man bara gå en bit på vägen. Ett sju år gammalt CS:GO i 1080p med en överklockad 5 GHz Core i7-8700K toppar på cirka 300 fps (3,3 ms per bildruta), med stuttrar som sänker minsta fps till ungefär hälften. Du kan köra CS:GO med 270-300 bilder per sekund på allt från ett GTX 1050 till ett Titan RTX, eftersom processorn är den viktigaste begränsande faktorn.
Samt sett handlar det inte bara om hårdvara att nå 144 bilder per sekund. Det handlar om mjukvara och speldesign, och ibland måste man bara släppa taget. Om du har hjärtat inställt på spel med 144 fps är det bästa råd jag kan ge att komma ihåg att framerates (eller frametimes, om du föredrar det) inte är allt. För konkurrenskraftiga flerspelarlägen där varje möjlig latensfördel kan vara till hjälp, sänk inställningarna till minimum och se hur spelet går, och öka eventuellt några inställningar om det finns utrymme.
Även om du inte kan upprätthålla 144 fps eller mer är 144 Hz uppdateringsfrekvenser fortfarande häftiga – jag kan känna skillnaden bara när jag interagerar med Windows-skrivbordet. De 144 Hz-skärmar av högre kvalitet har också stöd för G-Sync och FreeSync, vilket kan hjälpa till att undvika märkbara störningar och tårar när du sjunker en bit under 144 fps. Perfekt jämna framerates skulle vara trevligt, men det ensam gör inte ett spel bra. Så luta dig tillbaka och njut av spelet, oavsett hårdvara eller framerate.
Relevanta nyheter