Efter en lång tids väntan lanserade AMD till slut den tredje stora versionen av företagets uppskalningsteknik FSR under förra veckan, vilken går upp emot konkurrenten Nvidias DLSS 3. På menyn står interpolering av bildrutor för bättre upplevt flyt i spel och vi har testat funktionen i Forspoken och Immortals of Aveum – de två titlarna som hittills implementerat FSR 3.
Kortfattat är funktionen välfungerande under rätt förutsättningar. Det är dock ingen magisk lösning som förändrar upplevelsen i grunden, men under ett optimalt scenario är det en gratis förbättring av det upplevda flytet i spel.
Först behöver vi dock avhandla vad FSR 3 faktiskt är för något och hur det fungerar.
FSR 3 – interpolerade bildrutor för den stora massan
Tar vi avstamp i syftet med funktionen så är FSR idag en samling av metoder för att avlasta grafikkretsen och därmed möjliggöra högre bildfrekvens och högre grafikinställningar. Fram till nu har FSR egentligen enbart gjort detta genom att skala upp bilden från en lägre upplösning. Vid lanseringen av Radeon RX 7000-serien under November 2022 tillkännagavs FSR 3 som via bildruteinterpolering ämnar öka den upplevda prestandan.
Tillkännagivandet kom kort efter att Nvidia lanserat DLSS 3 med tekniken frame generation som vid första anblick använder en liknande metod för att uppnå samma mål. Förutom slutmålet med ökad bildfrekvens skiljer sig dock tillvägagångssättet under huven på flera punkter mellan de båda aktörernas lösningar.
Där Nvidias interpolering via DLSS 3 bygger på dedikerad hårdvara i grafikkretsen är AMD:s FSR 3 möjlig att använda på Radeon 5000-serien och Geforce RTX 2000-serien eller nyare. Dock rekommenderas AMD Radeon 6000-serien alternativt Geforce RTX 3000-serien eller nyare.
FSR 3 har flertalet beståndsdelar som samverkar för att producera de interpolerade bildrutorna. I korthet så beräknas en ny bildruta fram baserat på hur bildrutan före och efter ser ut. För att minimera mängden grafiska artefakter eller andra felaktigheter som kan uppstå har AMD implementerat arbetsflödet FSR 3 Optical Flow.
Optical Flow tittar bland annat på rörelsevektorer och kan sedan anta hur bildrutan borde se ut. När sedan interpoleringen ägt rum via FSR 3 Frame Generation är nästa steg i kedjan att FSR 3 skickar bildrutorna som skall visas i korrekt takt och utan för mycket fördröjning.
Beräkningarna i Optical Flow och interpoleringen i Frame Generation kan genomföras asynkront för att minska belastningen på det vanliga flödet för grafikberäkningar. Då hela Frame Generation-processen beräknas och utförs av grafikkretsens shader-enheter är dock en viss påverkan ofrånkomlig. Detta är också anledningen att äldre grafikkort inte rekommenderas att nyttja funktionen.
Den tidigare nämnda presentationen av bildrutorna i lämplig takt hanteras av FSR 3-teknikens inbyggda funktion för frame pacing, alltså den takt som bildrutorna presenteras för användaren. Slutresultatet uppges variera beroende på plattform, grafikgränssnitt och inställningar som V-Sync och dylikt.
Vid användning av DirectX 12 på Windows kan dock utvecklare välja att implementera AMD:s FSR 3 swapchain. Den avgör bland annat frame pacing samt använder AMD:s asynkrona arbetslaster.
I ett optimalt scenario rekommenderas användaren att i detta scenario aktivera V-Sync då skärmens uppdateringsfrekvens i detta fall talar om för FSR 3 hur ofta en ny bildruta ska presenteras, och detta görs då med jämn takt. Om V-Sync är inaktiverat tas istället beslut om när en ny bildruta visas baserat på andra parametrar.
AMD rekommenderar att FSR 3 Frame Generation, det vill säga själva bildinterpoleringen, används i scenarion där din bildfrekvens efter uppskalning, men innan interpolering, är minst 60 FPS. I fall där bildfrekvensen blir för låg kommer inte den ökade bildfrekvensen via interpolering leda till en bättre upplevelse. Däremot kan den försämrade latensen, som kommer som ett resultat av de interpolerade bildrutorna, leda till en påtagligt sämre upplevelse.
Det är just latenserna som är en av de stora eventuella nackdelarna med bildruteinterpolering av den här typen. Oavsett hur smarta algoritmerna är eller hur arbetslasterna fördelas är det ofrånkomligen så att fler uppgifter ska utföras och det leder till högre latenser. Däremot går det att till viss mån reglera hur stora dess förändringar i latenser blir. Exempelvis har FSR 3 Frame Generation inbyggda metoder för att reducera påverkan av ökade latenser. Därtill kan användare som har Radeon-grafikkort nyttja drivrutinens inbyggda teknik anti-lag. Den som dessutom sitter på ett grafikkort ur Radeon RX 7000-serien har tillgång till den utbyggda funktionen anti-lag plus.
Test av FSR 3
Med enbart stöd i två stycken spel är urvalet av testscenarion inte särskilt stort. Vi har valt att testa den nya funktionen via vår sedvanliga testrigg för grafikkort i spelen Forspoken och Immortals of Aveum.
Grafikkorten som har fått ställa upp är AMD Radeon RX 7900 XTX och RX 7600, från Nvidia valde vi Geforce RTX 4090 samt nykomlingen RTX 4060. I de rena prestandatesterna använde vi oss av Forspokens inbyggda benchmark-verktyg och spelets fördefinierade högsta grafikinställningar.
Med de två första grafikkorten i 1080p-upplösningen är det intressant att titta på den procentuella förändringen. För RX 7600 ökar bildfrekvensen med nästan 100 procent när Frame Generation aktiveras. För Geforce RTX 4060 är ökningen istället runt 80 procent.
Det är också intressant att notera att lägstavärdet står kvar på samma värde oavsett om Frame Generation är aktiverat eller ej. Detta är dock i detta fallet ingen indikator på en ojämn upplevlse. Istället verkar det vara en bieffekt av hur Frame Generation fungerar kombinerat med metoden som CapframeX använder för att mäta bildfrekvensen.
När upplösningen skruvas upp till 4K UHD är ökningen återigen större för AMD-kortet, där Radeon RX 7900 XTX får en skjuts i bildfrekvens med 77 procent. För bjässen RTX 4090 är istället runt 65 procent. Siffrorna i de här testerna blir dock mest av teoretisk natur och berättar egentligen inte hela sanningen. I slutändan är den upplevda responsen från spelet en stor del av det som gör att hög bildfrekvens är åtråvärt. Därtill är det viktigt att bildfrekvensen presenteras i jämn takt för att undvika en ryckig bild.
Det går givetvis att mäta latens men vid testtillfället hade vi ingen passande hårdvara för ändamålet samtidigt som vi inte hittade någon pålitlig mjukvarumetod för att testa grafikkort från olika tillverkare med siffror som är direkt jämförbara. Sannolikt kommer detta bli lättare framgent med nyare och uppdaterade verktyg.
Vi valde att fortsätta testerna på en skärm med 160 Hz-uppdateringsfrekvens och testa de olika kombinationer av inställningar vi kunde komma på för att se var gränserna för en subjektivt spelbar upplevelse går.
Den absolut bästa och mest responsiva upplevelsen fick vi när RX 7900 XTX användes tillsammans med en skärm låst i 120 Hz uppdateringsfrekvens med V-Sync aktiverat och spelet inställt med en bildfrekvens låst till 120 FPS. I det fallet var latensen i grunden så pass låg att den ökade bildfrekvensen enbart gjorde upplevelsen trevligare.
På samma vis kan det bli en rakt upp och ner horribel upplevelse när latenserna redan från början är höga eller om fel inställningar aktiveras. Här gäller det att hålla tungan rätt i mun då din egen kombination av hårdvara kommer att vara en avgörande faktor för vilka inställningar som är optimala eller om du ens bör använda funktionen.
AMD:s rekommendation att enbart använda Geforce-grafikkort av nyare snitt är värt att följa, när trotjänaren Geforce GTX 1080 Ti fick en svängom var upplevelsen intressant. I Forspoken fungerar inte Frame Generation alls medan det går att aktivera med grafikkortet i Immortals of Aveum. Däremot dubblerades värdet "Average PC Latency" till mer eller mindre ospelbara nivåer när Frame Generation kommer in i bilden. Slår du därefter på Vsync dubbleras den ytterligare en gång.
Upplevd bildkvalitet när bildinterpolering används med FSR 3
En av riskerna när bildrutor interpoleras är att det kan förstärka redan synliggjorda visuella artefakter, i värsta fall kan dessa förstärkas eller så tillkommer nya. De goda nyheterna med FSR 3 är att de interpolerade bildrutorna fortfarande ser ut som vanliga FSR i Quality Mode. De dåliga nyheterna är att de interpolerade bildrutorna fortfarande ser ut som vanliga FSR i Quality Mode. Ovan påstående är något raljant såklart men de visuella brister som finns inbyggda i FSR:s uppskalning är synliga även här.
Forspoken är därtill ett spel som verkligen inte spelar på FSR:s styrkor. Den stora mängden partikel-effekter tenderar att se röriga och brusiga ut, likaså huvudkaraktärens hår och klädsel. De grafiska artifakterna blir dessutom värre i Balanced-läget och förvrids än mer i de båda Performance-lägena.
Lösningen på detta menar AMD är det nyligen implementerade läget "Native AA". Med det nya läget används ingen uppskalning och istället använder FSR enbart den förbättrade kantutjämningen och skärpeförbättringen som finns inbyggd i tekniken. Detta leder till en klart förbättrad bildkvalitet på bekostnad av prestanda. Lyckligtvis går läget dock att kombinera med Frame Generation och leder till ett upplevt bättre flyt i bilden.
Sammanfattningsvis så har vi inte noterat någon klar försämring i bildkvalitet med Frame Generation påslaget. Istället råder principen att om den ursprungliga bilden dras med brister gäller det även för den interpolerade.
Sammanfattande tankar om FSR 3 Frame Generation
AMD:s FSR 3 Frame Generation befinner sig väldigt tidigt i sitt utvecklingsstadium, trots en än så länge smal implementation vill vi ser mer av den. Det är måhända en smula svårbedömt just nu hur den kommer att se ut och implementeras om ett år och längre fram i tiden. Det vi däremot kan säga är att funktionen i dagsläget fungerar bra förutom när den inte gör det.
Det är ingen magisk kula som automatiskt trollar fram fler FPS, det är ett verktyg som under rätt förutsättningar hjälper det visuella på traven. Precis som alla andra verktyg så kan resultatet vid felaktigt handhavande dock ge oväntade eller dåligt resultat. Styrkan och svagheten med AMD:s implementation av bildruteinterpolering är likt FSR i stort att det är en öppen standard och lämnar väldigt fritt spelrum till utvecklare att välja hur det används.
Fördelen är så klart att det användas på många olika sätt och potentialen att inte låsa en ny funktion bakom en viss generation av hårdvara är lockande. Nackdelarna är så klart att slutresultatet inte automatiskt är önskvärt. Vi har försökt att dra så få paralleller till det gröna lagets DLSS 3 som möjligt men det är omöjligt att inte resonera kring hur de är lika och skiljer sig. Nvidias lösning är så klart proprietär och genom att beräkna interpoleringen av bildrutor på hårdvara specifik för deras egna kort kan de kontrollera hela förloppet. Du behöver betala en hög entréavgift för att komma in, men väl inne är implementationen idag mer utbredd och mer välpolerad.
FSR 3 Frame Generation är ett steg för att hålla jämn takt i funktionalitet med konkurrenten, och som tidigare nämnts är funktionen imponerande när den fungerar bra. Den kräver dock en gnutta mer insikt av användaren i hur den fungerar för att få ut absolut mest av den. I det stora hela är det en positiv riktning för AMD då användare världen över kan testa funktionen utan någon extra kostnad.
Tar vi AMD:s historik i åtanke och hur de fortsatt att förbättra FSR finns det mycket att se fram emot även med denna tredje iteration.