Extra tester av Nvidia DLSS, Reflex och Ray-tracing

En av de viktigaste principerna för SweClockers testpiloter är att uppdragsgivaren inte får påverka innehållet eller betyget. Jag tycker att det är en extremt viktig regel att upprätthålla. Samtidigt kan det ibland dyka upp önskemål om extra tester som är relevanta och intressanta för läsaren, även om det kommer från tillverkaren.

nvidia-geforce-rtx-badge-horiz-rgb-for-screen.png

I samband med planeringen av denna testpilot kontaktades SweClockers av Nvidia, som önskade ett gäng extra tester av deras egna tekniker i ASUS ROG Zephyrus G16, vilket visserligen är intressant men delvis hamnar utanför artikelns omfång. För mig orsakade detta huvudbry då jag ändå planerade att gå in på en del av Nvidias funktioner, men samtidigt skulle det kunna uppfattas som att innehållet påverkats.

Därför har jag beslutat att lyfta ut de extra testerna till ett eget avsnitt och inte inkludera nedanstående tester i bedömningen av själva produkten. Här finns främst tre tekniker som jag tittare närmare på: Nvidia DLSS (Deep Learning Super Sampling) som fokuserar på att förbättra prestanda och bildkvalitet, ray-tracing som ger högre bildkvalitet och Nvidia Reflex som ska göra spelet mer responsivt genom att minska latensen.

NVIDIA GeForce GAMESCOM DECK-31.jpg

Nvidia DLSS

DLSS eller Deep Learning Super sampling är samlingsnamnet för ett gäng bildtekniker som ska att förbättra både prestanda och, i senare versioner, även bildkvaliteten. Tanken är att låta bilder renderas internt i en lägre upplösning än det sen presenteras och sedan med hjälp av AI generera en bild som ska vara så nära i kvalitet som normal upplösning som möjligt, och i vissa fall till och med bättre.

DLSS har utvecklats en hel del sedan det lanserades i februari 2019 och den senaste versionen (när detta skrivs) DLSS 3.5 fokuserar mer på att förbättra bildkvaliteten med ray-tracing än att ge högre prestanda. SweClockers har tidigare skrivit en artikel om DLSS 3.5 för den som vill gå in på djupet.

  • DLSS 2 Super Resolution. Denna version använder sig av AI (Deep Learning in DLSS) för att skala upp bilden från en lägre upplösning till en högre upplösning. Målet är både bättre prestanda och bra bildkvalité.

  • DLSS 3 Frame Generation. I denna version används AI för att skapa bilder och på så sätt få bättre prestanda genom att minska risken att till exempel processorn blir en flaskhals. I grunden så analyseras två bilder och sen genereras en extra bild ”mellan” dessa.

  • DLSS 3.5 Ray Reconstruction. Detta är den första versionen som fokuserat på att förbättra bildkvaliteten när ray-tracing används.

Super Resolution och Ray Reconstruction fungerar med alla grafikkort i RTX-serien medan Frame Generation kräver en modell i den senaste i 40-serien. Det har också släppts mindre versioner, där till exempel DLSS 2.1 adderade stödet för dynamisk upplösning.

Fasta kvalitetsinställningar

Det enklaste sättet att använda DLSS är att välja en fördefinierad kvalitetsinställning.

Vertikal målupplösning (100 %)

1 080 pixlar

1 440 pixlar

2 160 pixlar

4 320 pixlar

Quality (67 %)

720

960

1 440

2 880

Balanced (58 %)

626

835

1 253

2 506

Performance (50 %)

540

720

1 080

2 160

Ultra Performance (33 %)

360

480

720

1 440

Tabellen ovan visar vilken upplösning som grafikkortet använder internt när den renderar bilden med olika kvalitetsinställningar. Enligt ett svar från Nvidia i denna artikel är det endast den interna upplösningen som ändras.

Ray-tracing

Ray-tracing, eller spårstrålning på svenska, har länge varit något av en helig graal inom datorgrafik. Genom att simulera hur alla ljusstrålar beter sig kan man åstadkomma väldigt realistiska bilder, vilket såklart är något man strävar efter i spel. Tekniken kräver mycket kraft, och sedan ett par generationer tillbaka har grafikkort stöd för att accelerera ray tracing med hårdvara. Trots detta är det en teknik som direkt påverkar bildfrekvensen negativt, vilket innebär att man behöver göra kompromisser när den implementeras.

En av dessa kompromisser är att minska antalet strålar som spåras per pixel i den renderade bilden. Även om detta förbättrar prestandan, skapar det också en informationslucka – något som i praktiken leder till en mycket brusig bild.

Detta hanteras vanligtvis av en denoiser, som försöker ta bort bruset men som kan introducera artefakter. I DLSS 3.5 finns nu stöd för ray reconstruction, som ska hjälpa till att minska dessa artefakter genom att ta över arbetet från den traditionella denoisern för att skapa den slutgiltiga bilden från den brusiga.

Nvidia Reflex

Slutligen finns även Nvidia Reflex. Utan att gå för djupt in på detaljerna handlar det om att grafikmotorn kan skicka bildrutor som ska renderas direkt till GPU:n utan att de behöver vänta i renderingskön.

renderingskoe.png

En video jag såg beskrev det som en intern begränsning av bildfrekvensen som gör att processorn aldrig överbelastar renderingskön, vilket istället skapar en flaskhals hos processorn snarare än hos grafikkortet.

Normalt sett vill du ha så hög bildfrekvens som möjligt när du spelar, särskilt om du spelar tävlingsinriktat. Men Nvidia Reflex fokuserar på att behålla en så hög bildfrekvens som möjligt, så länge renderingskön inte blir en flaskhals och därigenom håller systemlatensen så låg som möjligt.

Detta är också anledningen till att ett spel kan uppleva något lägre bildfrekvens med Nvidia Reflex aktiverat, då fokus ligger på att göra spelet så responsivt som möjligt. Det är en kompromiss som jag tror är acceptabel för majoriteten av spelarna.

Hur hanterar olika spel dessa tekniker?

Enligt Nvidia finns det inga specifika krav på hur speltillverkare ska göra dessa tekniker tillgängliga för användaren. Det innebär att det finns en mängd olika sätt som speltillverkarna väljer att presentera inställningarna på. Jag tittade närmare på några av de senaste populära spelen som lanserats med stöd för DLSS 3 eller DLSS 3.5 för att se hur de hanterar detta.

Horizon Zero Dawn

Spelet har stöd för DLSS 3.0 sedan december 2023. Det finns inget stöd för ray tracing.

hzd_settings.png

Det här spelet är ett exempel där stöd för DLSS har lagts till i efterhand och där inställningsalternativen är begränsade.

Horizon Zero Dawn: Forbidden West

Som förväntat stöder spelet också DLSS 3.0.

HZ_FW_settings.png

Det går att göra inställningar antingen innan spelet startas eller inuti spelet. Det är värt att notera att det inte går att stänga av Nvidia Reflex, utan bara att aktivera det som ”på” eller ”på + boost”, vilket även ger en boost till processorn.

Om DLSS Frame Generation är aktiverat går det inte att använda dynamisk upplösning. Dynamisk upplösning ger möjligheten att ange en önskad bildfrekvens, och sedan justeras upplösningen efter detta. Det finns inga alternativ för att ställa in den lägsta upplösningen som ska användas.

hz_fw_settings_inside.png
hz_fw_settings_inside2.png

Även inne i spelet är det relativt enkelt att hitta inställningarna. DLSS Frame Generation kräver att DLSS är påslaget, något jag sett inte alltid är ett krav i andra spel.

Cyberpunk 2077

cyberpunk_2077_settings1.png
cyberpunk_2077_settings2.png
Cyberpunk 2077 cyberpunk_2077_settings3.png
cyberpunk_2077_settings4.png
cyberpunk_2077_settings5.png
cyberpunk_2077_settings6.png

Om Horizon Dawn: Forbidden West hade väldigt tydliga och enkla inställningar för Nvidia DLSS, kan Cyberpunk 2077 ses som ett exempel där spelet erbjuder många möjligheter att justera inställningarna.

Spelet kommer med ett antal förinställda profiler, både med och utan ray tracing. Om du väljer en profil utan ray tracing används AMD FSR som standard, men du kan självklart ändra till DLSS. Väljer du istället en profil med ray tracing, är DLSS förvalt.

Bland DLSS-inställningarna finns möjligheten att justera dynamisk upplösning. Spelet ger dig möjlighet att både ange en önskad bildfrekvens och den lägsta och högsta upplösningen som spelet kan variera mellan. Detta innebär att du till exempel kan inställa att spelet normalt ska renderas i sin naturliga upplösning, men att upplösningen kan sänkas vid behov.

När det kommer till ray tracing finns det fullt stöd för DLSS Ray Reconstruction via DLSS 3.5. Spelet stöder även så kallad Path tracing, vilket betyder att allt ljus i spelet använder ray tracing.

Det finns en inställning för Nvidia Reflex, men av någon anledning var den alltid aktiverad och gråad så jag är osäker på vilken kombination av inställningar som ger mig möjlighet att inaktivera Nvidia Reflex.

Alan Wake 2

alan_wake2_settings1.png
alan_wake2_settings2.png
alan_wake2_settings3.png

Alan Wake 2 kommer med stöd för både DLSS 3.5 och ray tracing. Spelet har alltid DLSS (eller FSR 2.0) aktiverat. Däremot kan du välja om bilden ska renderas i native upplösning eller välja en kvalitetsinställning som renderar bilden internt i en lägre upplösning. DLSS Frame Generation kan användas även om spelet renderar bilden i native upplösning.

När det gäller ray tracing finns det fullt stöd för DLSS Ray Reconstruction via DLSS 3.5. Spelet stöder även så kallad Path Tracing, vilket innebär att allt ljus i spelet använder ray tracing.

Dragon's Dogma 2

dragons_dogma_2_settings.png

Det är intressant att se hur olika spelutvecklare implementerar DLSS i sina spel. Dragon's Dogma 2 har väldigt få inställningsmöjligheter. Det går att slå på eller av DLSS och välja en profil. Det går också att slå på eller av ray tracing, men det finns inga möjligheter att anpassa inställningarna mer detaljerat.

Prestanda

Vad innebär det att aktivera DLSS i ett spel? För att svara på den frågan valde jag ut några av de senaste spelen som stödjer antingen DLSS 3.0, DLSS 3.5 och/eller ray tracing.

Horizon Zero Dawn: Forbidden West

Jag började med att spela Horizon Zero Dawn: Forbidden West ett par timmar för att komma ut i världen innan jag testade prestandan. Jag satte grafikinställningarna på "High" och experimenterade sedan med DLSS-inställningarna. Därefter använde jag Nvidias overlay för att starta och stoppa insamlingen av statistik, inklusive bildfrekvensen.

hzd_no_dlss.jpg

Ingen DLSS

hzd_quality_dlss_no_frame_gen.jpg

Quality DLSS + no Frame generation

hzd_quality_dlss_frame_gen.jpg

Quality DLSS + Frame Generation

Med tanke på att Frame Generation skapar en bild mellan två andra bilder är jag osäker på om skärmdumpar visar något av betydelse. Under de timmar jag spelade med detta aktiverat noterade jag dock inga artefakter i bilden.

99%/medel

Ingen DLSS

32/43 fps

DLSS + No Frame Gen

42/58 fps

DLSS + Frame Gen

64/86 fps

Även om DLSS i sig ger ungefär 30 % ökning i bildfrekvens, är det när DLSS Frame Generation aktiveras som den stora ökningen sker. Utifrån det faktum att jag inte noterade några artefakter i bilden är det en inställning som jag rekommenderar för RTX 40-serien.

Cyberpunk 2077
Cyberpunk 2077 kommer med stöd för DLSS 3.5, ray tracing och Nvidia Reflex. Jag använde mig av den inbyggda testslingan för att få en uppfattning om hur prestandan påverkas av de olika inställningarna. De profiler jag utgick ifrån var high, ray tracing medium och ray tracing ultra.

cyberpunk-2077-no-dsll-1.jpg

No DSLL

cyberpunk-2077-qual-no-framegen-1.jpg

Quality DSLL + no Frame generation

cyberpunk-2077-qual-framegen-1.jpg

Quality DSLL + Frame generation

cyberpunk-2077-no-dsll-2.jpg

No DSLL

cyberpunk-2077-qual-no-framegen-2.jpg

Quality DSLL + no Frame generation

cyberpunk-2077-qual-framegen-2.jpg

Quality DSLL + Frame generation

(Ignorera att den interna bildfrekvensen inte alltid stämmer i skärmdumpen. Spelet gillade inte när jag tog en skärmdump med ALT+F1 och det hackade till ibland. Överlag stämmer dock siffrorna från Nvidias overlay och spelets interna rapportering överens med varandra.)

Jag försökte upptäckta eventuella skillnader i bildkvalitet i denna rörliga testslinga men jag kan inte säga att det var något som tydligt förändrades med eller utan DLSS. Det största problemet jag hade var att med ray tracing aktiverat fick jag då och då korta pauser, vilket jag misstänker beror på att grafikkortet i datorn begränsas av 8 GB minne.

DLSS

Frame generation

Ray tracing

Medel bildfrekvens

Nej

Nej

Nej

51 fps

Quality

Nej

Nej

77 fps

Quality

Ja

Nej

96 fps

Nej

Nej

Medium (ingen DLSS Ray Reconstruction eller Path tracing)

17 fps

Quality

Ja

Medium (ingen DLSS Ray Reconstruction eller Path tracing)

40 fps

Quality

Ja

Ultra (ingen DLSS Ray Reconstruction eller Path tracing)

24 fps

Även i Cyberpunk 2077 är det stödet för Frame Generation som ger den största ökningen i bildfrekvens. DLSS är ett krav för att aktivera ray tracing, men det krävs fler justeringar av inställningarna för att uppnå en god bildfrekvens.

Jag testade till exempel att aktivera dynamisk upplösning och låta den interna upplösningen vara från 50 % (vilket motsvarar DLSS Performance) till 85 % och sätta en målbildfrekvens på 60 fps. Det blev uppenbart att spelet ofta använde en lägre upplösning, då bilden blev lite "mjukare", men jag uppnådde å andra sidan en genomsnittlig bildfrekvens på 69 fps även med ray tracing aktiverat.

Alan Wake 2

Alan Wake 2 är ett av de senaste spelen som stöder DLSS 3.5. Jag spelade spelet ett tag och valde sedan att ta en promenad i staden och mäta prestandan via Nvidias overlay, som låter dig starta och stoppa insamling av data.

alan_wake2-native.jpg

DSLL Native

alan_wake2-quality.jpg

DSLL Quality no frame generation

alan_wake2-quality_frame_rend.jpg

DSLL Quality + frame generation

alan_wake2-rt-low-quality_frame_rend.jpg

DSLL Quality + frame generation + medium ray tracing

alan_wake2-rt-med-quality_frame_rend.jpg

Med ray tracing satt till medel får jag problem med vissa texturer som inte alltid laddar in

Bildkvaliteten är som väntat riktigt bra även med DLSS påslaget. Det största problemet noterade jag med ray tracing aktiverat. Jag upplevde en del hack i bildfrekvensen och ibland laddades inte texturerna in korrekt. Nvidia rekommenderar RTX 4080 och uppåt för ray tracing, vilket tyder på att RTX 4070 som används här inte riktigt räcker till.

99%/medel

DSLL Native

27/36 fps

DSLL Quality

42/61 fps

DSLL Quality + frame generation

55/78 fps

Med DLSS inställt på Quality och Frame Generation aktiverat får jag en fördubbling av bildfrekvensen. Återigen kan jag inte direkt se några artefakter när jag spelar.

Nvidia Reflex

Nvidia Reflex är en funktion som främst är till nytta i snabba, tävlingsinriktade spel, där du vill att spelet reagerar på knapptryckningar på så kort tid som möjligt. Som en till åren kommen gamer måste jag erkänna att min reaktionsförmåga inte längre är vad den brukade vara, men jag startade Fortnite för att se om jag kunde märka någon skillnad.

Fortnite Screenshot 2024.04.04 - 12.06.00.16.png

Fortnite gömmer inställningen för Nvidia Reflex ganska djupt i grafikmenyn. Det går att stänga av, slå på och slå på med extra boost. Spelet har även stöd för att visa systemlatensen, både med hårdvara och utan.

Fortnite_no_reflex.png

Nvidia Reflex avstängd

Fortnite_no_reflex2.png

Nvidia Reflex avstängd

Fortnite_reflex_boost.png

Nvidia Reflex+boost påslaget

Fortnite_reflex_boost2.png

Nvidia Reflex+boost påslaget

Om detta stämmer så minskas latensen från runt 40 ms ner till cirka 20–25 ms när jag slår på Nvidia Reflex.

Sammanfattning

Nvidias tekniker för att förbättra prestanda och bildkvalitet har utvecklats avsevärt med tiden. Jag har alltid uppskattat DLSS, särskilt eftersom det möjliggör för även mindre kraftfulla grafikkort att leverera bättre prestanda och jag är imponerad av den bildkvalitet som tekniken nu kan erbjuda. Det känns inte längre som att jag måste välja mellan prestanda eller bildkvalitet.

Den senaste versionen, DLSS 3.5, är också det första steget mot att förbättra bildkvaliteten för ray tracing, även om det fortfarande kräver ett kraftfullt grafikkort.

Jag är spänd på att se vad som händer nu när Microsoft planerar att göra det enklare för spelutvecklare att använda sig av de olika uppskalningsteknikerna och även nyfiken på vad Nvidia har i planerna för sin nästa stora uppdatering.