Nvidia introduceert DLSS 2, de tweede versie van het deep learning-algoritme om games visueel te verbeteren. Deze deep learning super sampling rendert games op een lagere resolutie, om later details toe te voegen met kunstmatige intelligentie. De nieuwe versie belooft een betere beeldkwaliteit en minder learning voor Nvidia.
DLSS 1.0
De eerste versie van DLSS werd aangekondigd met de RTX 2080 (Ti), die alweer vanaf september 2018 stamt. Hoewel het een complex systeem is, valt het relatief simpel uit te leggen. Een game kan door de gebruiker op een lagere resolutie gerenderd worden, waarna DLSS automatisch het beeld opschaalt en details invult. Om dat te kunnen doen, wordt per game een neuraal netwerk getraind om dat zo goed mogelijk te kunnen doen.
Deze deep learning vindt plaats op een serverpark vóórdat een game op de markt komt, waardoor de gebruiker alleen het algoritme hoeft te gebruiken. En dat is veel minder intensief, want het wordt sterk versneld door de Tensor-cores, zoals je al kon lezen in de eerdere review. Het resultaat is bijna identieke grafische beelden, maar met flink betere prestaties.
Hoe veelbelovend dat ook klinkt, waren er met deze eerste iteratie nog de nodige problemen. Op lagere resoluties was het resultaat bijvoorbeeld slechter, doordat minder bron-data gebruikt kon worden. Dat geeft Nvidia ook eerlijk toe in een vergelijkende afbeelding. Daarnaast kostte het trainen van de algoritmes veel werk. Voor elke game en resolutie moest een apart model gemaakt worden.
DLSS 2.0
Een enkel model
Met de tweede versie doet Nvidia de techniek flink op de schop. Het aparte model per game wordt geschrapt en er komt één model voor alle games. Door de grote verscheidenheid aan games klinkt dat wellicht als een achteruitgang, maar het ligt genuanceerder.
Hoewel een bepaalde game relatief vaak dezelfde texturen en effecten toont in een beeld, zijn er genoeg willekeurige situaties waarmee het eerdere model niets kon. Daardoor liep de beeldkwaliteit in de soep. Daar komt bij dat door het combineren véél meer data gebruikt kan worden voor dat enkele model, wat in de regel een beter (algemeen) model oplevert. Voor zo'n algemeen neuraal netwerk zijn uitschieters nog steeds moeilijk te voorspellen, maar daarvoor heeft Nvidia iets anders in petto.
Motion vectors
Het algemene model wordt namelijk gecombineerd met zogenaamde real-time motion vector-informatie. Deze vertellen waar objecten heen bewegen, waardoor de willekeurigheid deels uit een game wordt gehaald. Dit is ook een onderdeel van temporal anti-aliasing (TAA) en maakt de beelden beter voorspelbaar. Hierdoor is het algemene model beter in te zetten voor verschillende games.
Een nadeel hiervan is dat deze bewegingsvectoren door game-fabrikanten geïmplementeerd moeten worden en beschikbaar gemaakt voor DLSS. Veel ontwikkelaars bieden al TAA, waardoor de vectoren al beschikbaar zijn, maar dan nog is er werk om ze beschikbaar te maken voor Nvidia. Games moeten dus expliciet ondersteund worden. Nvidia vermeldt verder dat DLSS beter presteert dan het bestaande TAA, dat problemen kan geven met snelle bewegingen en flikkerende beelden.
In de praktijk
Op de achtergrond is er dus een hoop veranderd, maar ook voor de eindgebruiker is er nieuws zichtbaar. Nvidia traint nog steeds een model, maar omdat dit een algemeen model is, komen er meer opties voor de gebruiker. Zo kan de resolutie nu ook 4x opgeschaald worden, bijvoorbeeld van 1080p naar 4k. Dat was met de eerste versie niet mogelijk.
Dit alles komt ook in meerdere modi beschikbaar als afweging tussen kwaliteit en prestaties. Er zijn drie opties in totaal: Performance, Balanced en Quality. Over het algemeen zijn de prestaties vergelijkbaar met DLSS 1.0, alleen kan de Quality-mode wat trager zijn. Verder geeft het bedrijf meerdere games aan die de techniek zullen ondersteunen. Hieronder zijn Deliver Us the Moon, Wolfenstein: Youngblood, Control, MechWarrior 5 en Unreal Engine 4.
Nvidia concurreert met AMD's Radeon Image Sharpening, dat we voor een review al eens probeerden. Hoe de verschillen tussen beide technieken uitpakken zal aan een praktijktest onderworpen moeten worden.