Az Nvidia még 2019-ben úgy gondolta, hogy a GeForce RTX-sorozatú kártyákban bemutatkozó tensor magokra építkezve egy teljesen újfajta élsimítási eljárást vezet be Deep Learning Super-Sampling, vagyis DLSS néven. Ez egy eléggé érdekes megoldásnak ígérkezett, hiszen ugyan az eljárás maga továbbra is a GPU-n fut le, azonban belül erősen támaszkodott a tensor magokra, így a minősége egy korábbi, gépi tanulásos szakasztól függött.
Konkrétan arról beszélhettünk, hogy minden egyes játék esetében szuperszámítógépeken kellett betanítani a DLSS-t, hogy megfelelően tudja kezelni a renderelt kép kritikus részeit, és a megfelelő helyekről optimálisan tudja eltüntetni a recéket.
Az elgondolás ugyan újszerű és remek volt, azonban számos hátulütője akadt. A betanítási folyamat időigényes és drága volt, ráadásul külön-külön meg kellett csinálni minden játékra. Így tehát meg kellett győzni a fejlesztőket, hogy foglalkozzanak a dologgal, ami nem minden esetben sikerült, hiszen továbbra is csak a GeForce RTX-kártyák tulajdonosai tudták kihasználni.
Habár a DLSS a legtöbb esetben jó eredményt produkált, a betanítási folyamat nem minden esetben sikerült tökéletesen, ráadásul bizonyos játékokban még a textúrák elmosódásához is vezethetett. Ezen kívül fontos kiemelni, hogy az első DLSS minden esetben a felhasználó által kiválasztott kimeneti felbontás 75%-án dolgozott, ami nagyban segített a teljesítményen, de lehetett variálni.
Az új generáció
Az alapok tehát megvoltak, amikre lehetett építkezni, így az idén bemutatott DLSS 2.0 gyakorlatilag minden tekintetben előrelépést kínál, elmondható tehát, hogy az Nvidia hallgatott a visszajelzésekre:
- változtathatóvá vált a felbontás, amivel a technológia dolgozik,
- bekerült egy temporális elem, ami tovább javít a képminőségen,
- még gyorsabban működik az egész a tensor-magokon,
- és nem kell minden játékra külön tréningezni a rendszert.
Az egyik legfontosabb változtatás a legutolsó, hiszen rendkívül leegyszerűsíti mind a fejlesztők, mint az Nvidia dolgát, hogy nem kell különálló neurális hálózatot betanítani, hanem minden esetben használható egy univerzális megoldás. Így a technológiát jóval könnyebb implementálni, ami a gyakorlatban azt jelenti, hogy egyre több játékban jelenik meg.
Persze az univerzális megoldások esetében arra lehetne számítani, hogy ugyan egyszerűbb, de a végeredmény sem lesz olyan meggyőző. Azonban az eddigi tesztek többsége azt mutatja, hogy a továbbfejlesztett rendszer legalább olyan, de inkább jobb végeredményt biztosít, mint a korábban, ráadásul az olyan mellékhatások is ritkábbak, mint a textúrák elmosódása.
Szintén fontos változás, hogy most már a játékon belül a felhasználó állíthatja be, hogy minőségben, gyakorlatilag milyen felbontásban fusson a DLSS. Három különböző opció érhető el:
- a teljesítményre kihegyezett Performance mód, ami a beállított kimeneti felbontás felén renderel,
- a középállásnak tekinthető Balanced mód, ami 58%-on dolgozik,
- és a legjobb minőséget nyújtó Quality mód, a natív felbontás 67%-án üzemel.
Ez a gyakorlatban azt jelenti, hogy most már lehetőségünk van 4K-s felbontás beállítása mellett 1080p-ben számoltatni a játékot. A végeredmény persze sosem lesz annyira tűéles és tiszta, mintha a GPU tényleg natívan 4K-ban renderelné a játékot, de cserébe elképesztő sebességnövekedést kapunk a képminőség számottevő javulása mellett.
Az utóbbi két faktoron, tehát a sebesség növelésén és a képminőség minél tisztábban tartásán dolgozik az is, hogy az Nvidia beépített egy temporális elemet a rendszerbe a következő képkocka "megtippeléséhez". Ehhez hasonlót egyébként ma már több játékmotor alkalmaz, habár itt egy kicsit másról van szó. A DLSS 2.0 a játék motorja által generált mozgásvektorok alapján igyekszik kitalálni, hogy a különböző objektumok hol lesznek a következő képkockán, tehát a jelenlegi képkockát alapul véve készíti el a következőt.
A DLSS 2.0 tréningezését egy Nvidia DGX alapú szuperszámítógép-fürt végzi, amely 16K-s felbontású referencia-képkockához hasonlítja a becsléseket, majd a különbségeket kiemelve a neurális hálózat idővel megtanulja, hogyan kell megbízhatóan elkészíteni a rendelkezésre álló adatok alapján a következő képkockát, lehetőleg jó képminőségben. Az így kialakított modell aztán bekerül a GeForce Game Ready meghajtókba, és már lehet is használni a játékban.