Att olika typer av uppskalningstekniker väcker väldigt mycket intresse under år 2021 råder det ingen tvivel om. Nvidia har de senaste åren lagt mycket tid på att marknadsföra sin AI-assisterade teknik DLSS medan konkurrenten AMD så sent som förra veckan sjösatte en egen variant i form av Fidelity FX Super Resolution. Utöver det har de olika grafikmotormakarna egna uppskalningstekniker på plats, där målet som bekant är att öka prestandan utan att tumma för mycket på bildkvaliteten.

När det kommer till just Nvidias DLSS hade tekniken en väldigt skakig lansering, där version 1.0 producerade minst sagt dåliga resultat på bildkvalitetsfronten. Företaget gav dock inte upp och lanserade under förra året version 2.0 av DLSS, vilken visade sig uppvisa imponerande kvalitetsresultat för att röra sig om en uppskalningsteknik. Något halvår senare introducerades DLSS 2.1, vilket gav stöd för fler kvalitetslägen, dynamisk upplösningsskalning och VR.

deathstranding_dlss21_quality.jpg

Tydliga artefakter i form av spår efter chiralkristallerna i Death Stranding med DLSS 2.1

Medan DLSS i sin nuvarande form producerar väldigt bra resultat ska det dock sägas att tekniken är långt ifrån perfekt. Likt andra temporala uppskalningstekniker, där information används för tidigare renderade bildrutor för att bygga slutresultatet, finns det fall där visuella artefakter kan uppstå. Hur dessa artefakter ter sig varierar från spel till spel, där dessa kan vara allt ifrån knappt märkbara till extremt uppenbara. Ett exempel på det sistnämnda syns tydligt på bilden ovan från Death Stranding.

Som med många andra tekniker finns det dock givetvis möjligheter att förbättra DLSS med uppdateringar, där exempelvis maskininlärningsmodellen som används under huven med tiden kan lära sig att hantera objekt i rörelse på ett bättre sätt. Dessa förbättringar ser nu ut att ha rullats ut i den tysta av Nvidia i samband med att Ubisoft la till stöd för DLSS i sin titel Rainbow Six Siege.

dlss_dll.png

Till vänster: nvngx_dlss.dll från Death Stranding, till höger: nvngx_dlss.dll från Rainbow Six Siege

I fallet Rainbow Six Siege har nämligen nyfikna användare upptäckt att programbiblioteket (nvngx_dlss.dll) som används för spelets DLSS-implementation är av en nyare version än tidigare skådats i något annat spel. Det intressanta här är versionsnumret, som i Rainbow Six Siege är 2.2.6.0 – något som är ett märkbart avstamp från tidigare DLSS 2.1-titlar vars programbibliotek har haft ett versionsnummer i stil med 2.1.x.x.

Det dröjde inte länge innan folk började experimentera med det nya programbiblioteket, och då visade det sig att det helt sonika gick att att kopiera över filen till tidigare spelimplementationer av DLSS 2.0 och DLSS 2.1. Intressant nog har den inkommit rapporter om att den nya versionen kraftigt reducerar artefakter i form av eftersläpningar och ghosting, vilket vi kände var underlag för vidare undersökning.

I den här artikeln tänkte vi kika lite snabbt på DLSS-implementationen i Death Stranding och se vilka grafiska förbättringar som finns att hämta hos det nya programbiblioteket. Vi har kopierat ut version 2.2.6.0 av nvngx_dlss.dll från Rainbow Six Siege och jämför den mot version 2.1.19.0 som är en del av grundinstallationen av Death Stranding. Givetvis slänger vi även in en referensbild utan någon som helst uppskalningsteknik aktiverad (native).

Testerna utförs på SweClockers sedvanliga system för grafikkortstester ihop med ett Geforce RTX 3080. Upplösningen som används är 3 840 × 2 160 pixlar med detaljnivån "Very High", där skärmdumparna har beskurits till 1 920 × 1 080 pixlar för att lättare kunna granska dessa. När DLSS är i bruk används kvalitetsläget "Quality", vilket innebär att spelet renderas i 2 560 × 1 440 pixlar och skalas därefter upp till skärmens faktiska upplösning på 3 840 × 2 160 pixlar.

2_dlss21.jpg
3_dlss22.jpg
1_native.jpg

Som synes på bilden med DLSS 2.1 har uppskalningstekniken väldigt svårt att hantera de svarta partiklarna från spelets chiralkristaller som stiger mot himlen. Vi ser ganska grovhuggna spår som följer dessa, där det blir särskilt uppenbart på partiklar i närheten av kameran. När vi växlar över till programbiblioteket för DLSS 2.2 sker en markant förändring av bilden, där artefakterna försvinner nästan helt och hållet – med undantag för några enstaka dubbletter.

dlss22_sidebyside.jpg

Med de båda versionerna bredvid varandra syns skillnaderna väldigt tydligt. De svarta partiklarna verkar verkligen ställa till det för DLSS 2.1, då vi utöver spåren även ser ett tydligt rutmönster över stora delar av himlen. Förutom att åtgärda de taggiga partikelspåren är detta rutmönster även som bortblåst när vi växlar över till DLSS 2.2 – en klar förbättring!

Frågan är dock om den nya versionen av DLSS påverkar prestandan positivt eller negativt? Svaret, åtminstone i fallet Death Stranding, är att prestandan är identisk mellan versionerna. För DLSS i "Quality"-läget innebär detta i praktiken en bildfrekvensvinst på cirka 29 procent ställt mot om spelet körs utan uppskalning i 3 840 × 2 160 pixlar.

Sammanfattande tankar kring DLSS 2.2

Det är ganska intressant att Nvidia inte pratar mer öppet om att de introducerat förbättringar till sin uppskalningsteknik DLSS. Version 2.2 av programbiblioteket tycks åtgärda många av de större tillkortakommandena som tekniken drogs med, där resultaten från Death Stranding talar sitt klara språk. Gårdagens video från Youtube-kanelen Digital Foundry pekar även på tydliga förbättringar i både Cyberpunk 2077 och Metro Exodus: Enhanced Edition.

Yeah, some people have seen and tried it out on different titles, and I think it's just a testament to this generalised network being able to improve over time. It keeps on getting better, it keeps on getting more information and giving good results.

In terms of what's new with this version, basically improvements to image quality, it just gets better. There's nothing special about it we wanted to call out. In terms of working with developers, everyone has different cadence levels on when they take the network to put into their game, it just so happens that Rainbow Six got 2.2.

Medan Nvidia inte har gjort någon officiell utannonsering av uppdateringen så har de dock gjort uttalanden i ämnet, däribland i en intervju med PC Gamer. Där bekräftar företaget att version 2.2 ger bättre bildkvalitet tack vare ytterligare träning i deras maskininlärningsnätverk, och att utvecklare är fria att implementera det nya biblioteket i framtida speluppdateringar.

Nu återstår det att se om fler spelutvecklare väljer att uppdatera sina titlar med den senaste versionen av DLSS, då det med handen på hjärtat känns lite fulhackigt att behöva skriva över .dll-filer i längden. Detta gäller inte minst mer multiplayer-orienterade spel, då en sådan kopieringsmanöver säkerligen kan trigga antifuskfunktioner och få en avstängd.