21

NVIDIA DLSS: cos'è e come funziona il deep learning super sampling

Il DLSS di NVIDIA è una tecnologia di super sampling che ha rivoluzionato il gaming. Scopriamo insieme cos'è e come funziona.

NVIDIA DLSS: cos'è e come funziona il deep learning super sampling
SPECIALE di Riccardo Arioli Ruelli   —   18/03/2024

Dopo la prima grande rivoluzione che segna il passaggio dalla grafica bidimensionale a quella tridimensionale, l'effetto "wow" generato dall'evoluzione tecnologica dell'hardware da gioco, storicamente legato al salto generazionale tra una console e l'altra o riservato all'arrivo di CPU e GPU sempre più performanti, è andato via via scemando a favore di un modello di sviluppo meno impattante dal punto di vista "scenico" ma altrettanto efficace. Un modello che ha introdotto innovazioni e miglioramenti in maniera più progressiva, dando il tempo agli sviluppatori di spremere a dovere le tecnologie a loro disposizione e ai produttori di affinare al meglio quelle in arrivo, preparando soluzioni sempre più promettenti per la conquista dell'agognato obiettivo comune, quello del fotorealismo.

In questo senso, la seconda rivoluzione è arrivata con l'introduzione del ray tracing, uno strumento che - oltre a cambiare per sempre il concetto di illuminazione nei giochi - ha spinto l'industria a ridefinire il rapporto tra hardware e tecnologie software, creando un rapporto sinergico che ha portato alla nascita del DLSS.
La protagonista assoluta di questa svolta è stata NVIDIA, azienda che più di tutte ha intuito la necessità di andare oltre la mera potenza di calcolo e facendo leva sul crescente sviluppo dell'intelligenza artificiale ha gettato le basi per una nuova era del PC Gaming e non solo. Ma come funziona il DLSS e perché la sua nascita condiziona e condizionerà sempre di più il segmento dei videogiochi e della grafica in generale?

Ray tracing, DLSS e GeForce RTX: una storia d’amore

Una semplificazione della rete neurale di NVIDIA
Una semplificazione della rete neurale di NVIDIA

Lo sdoganamento del ray tracing nell'industria del gaming di consumo ha definitivamente cambiato le carte in tavola: questa tecnologia, un tempo riservata alla grafica professionale e ancor di più al mondo del cinema, ha messo in mostra i vantaggi portati dall'implementazione dell'illuminazione diretta e dalla rifrazione della luce sulle diverse superfici, il tutto attraverso il calcolo preciso del comportamento delle fonti luminose e dei riflessi.
La simulazione quanto più precisa del comportamento della luce ha portato ad un enorme balzo qualitativo della grafica in generale, con risultati spesso sbalorditivi. Tutto questo però al costo di un'enorme richiesta in termini di potenza di calcolo, con conseguente crollo del frame rate e delle prestazioni di gioco.

Per ovviare a questo problema, NVIDIA ha messo in campo una tecnologia rivoluzionaria, tanto da essere definita - nel corso delle sue varie implementazioni - come una vera e propria "magia": il DLSS, acronimo di Deep Learning Super Sampling, sfrutta le capacità dell'intelligenza artificiale per "liberare" le risorse hardware e incrementare il frame rate e le prestazioni.

La presentazione della GeForce RTX 2080
La presentazione della GeForce RTX 2080

L'implementazione del DLSS è stata possibile grazie alle schede video della gamma RTX, un hardware sviluppato per supportare una nuova generazione di processori: le schede NVIDIA GeForce RTX serie 20 sono infatti equipaggiate con gli Streaming Multiprocessor che consentono il calcolo in parallelo e a cui è deputato lo shading delle superfici, i celebri Tensor Core a cui è riservata la gestione dell'intelligenza artificiale e del Deep Learning, e infine gli RT Core (RT sta per ray tracing) per il calcolo dei raggi luminosi.

Tanto semplice, quanto efficace

Metodi di upscaling a confronto con il DLSS
Metodi di upscaling a confronto con il DLSS

Il DLSS è sostanzialmente un metodo di upscaling, ovvero una tecnologia che a partire da un'immagine ad una data risoluzione, riesce a restituire un risultato finale a risoluzione più alta. Al contrario dei metodi tradizionali, già visti all'opera su molti dei televisori usciti nell'ultimo decennio, il DLSS di NVIDIA sfrutta l'intelligenza artificiale e il deep learning per ottenere tale miglioramento.
Il principio alla base della tecnologia della casa verde è piuttosto semplice: una volta impostata una risoluzione di gioco, per esempio 4K, la GPU delle schede RTX effettua le normali attività come rasterizzazione e renderizzazione ad una risoluzione più bassa, per poi ricreare un'immagine finale quanto più simile alla corrispondente a risoluzione nativa. Questo procedimento viene chiamato super sampling.

L'immagine a risoluzione più bassa, tuttavia, manca di "informazioni" e pixel rispetto a quella originale con una risoluzione più alta. Per "ricostruire" i dati mancanti, il processo di NVIDIA fa leva sull'intelligenza artificiale ed in particolare sul machine learning: nella sua prima iterazione del 2019, il DLSS poteva contare sui modelli generati dall'intelligenza artificiale, opportunamente addestrata dai supercomputer di NVIDIA. Questa immensa quantità di dati contenuti nelle librerie e derivati dal certosino campionamento di miliardi di frame estrapolati dai singoli giochi supportati, venivano utilizzati per la creazione di un fotogramma "finale". Le coppie di immagini, iniziale e finale, erano infine date in pasto all'IA che le utilizzava per "imparare" a completare l'immagine con i dettagli mancanti. Il risultato finale veniva quindi distribuito attraverso i Game Ready Driver per essere opportunamente rielaborato dai già citati Tensor Core.

La differenza sostanziale con i tradizionali metodi SSAA (Super Sampling Anti-Aliasing) sta proprio in quest'ultimo passaggio: il supersampling locale viene sostituito dai calcoli in remoto del DLSS, che può utilizzare i Tensor Core esclusivamente per l'elaborazione del modello definitivo.

La svolta del DLSS 2.0

Con DLSS 2.0 la qualità dell'immagine finale migliora
Con DLSS 2.0 la qualità dell'immagine finale migliora

Il limite maggiore del primo DLSS risiedeva nella scarsa versatilità di questo approccio: ogni singolo gioco supportato richiedeva infatti un addestramento specifico dell'IA, nonché una stretta collaborazione tra NVIDIA e i vari sviluppatori con conseguente carico di lavoro aggiuntivo. Se le prime potenzialità del DLSS sono state messe in mostra da titoli come Shadow of the Tomb Raider, Battlefield V e soprattutto Metro Exodus, il compito di aprire le porte all'utilizzo su "vasta scala" del Super Sampling di Jensen Huang e soci, è toccato a Control.

Il titolo di Remedy ha infatti sfruttato per primo le novità del DLSS 2.0, passando per il DLSS 1.9. Da questo momento la magia di NVIDIA acquisisce caratteristiche "miracolose": con la seconda generazione di questa tecnologia, NVIDIA rinnova la rete neurale e consente all'IA di apprendere parametri generali applicabili a tutti i giochi, indipendentemente dall'addestramento specifico, e allarga incredibilmente il bacino dei titoli supportati.

Parallelamente a questo, la nuova gamma di GPU NVIDIA GeForce RTX serie 30 porta in dote Tensor Core migliorati e in grado di effettuare calcoli a una velocità quasi raddoppiata: gli artefatti e le imprecisioni del passato sembrano quasi un lontano ricordo, l'introduzione del TAAU (Temporal Anti-Aliasing Upsampling) incrementa ulteriormente la resa visiva finale, tanto che in molti casi la qualità delle immagini generate dal DLSS 2.0 è superiore a quella dei metodi tradizionali, ma con un impiego di risorse estremamente ridotto.

Un grafico che mostra l'aumento del frame rate con la 'Quality Mode'
Un grafico che mostra l'aumento del frame rate con la "Quality Mode"

DLSS 2.0 porta in dote anche una serie di preset (Qualità, Bilanciato e Performance) che permette all'utente di scegliere la risoluzione scalata e il relativo impiego di risorse. Insomma, con la seconda iterazione del DLSS, il ray tracing non sembra più un miraggio concretizzabile da pochi e le schede video targate NVIDIA rinascono a nuova vita: tra i pregi maggiori del DLSS 2.0 c'è infatti la retrocompatibilità con le schede RTX di prima generazione.

DLSS 2.1 alza nuovamente l'asticella grazie all'avvento della modalità Utra Performance che apre le porte alla risoluzione 8K e grazie agli ulteriori miglioramenti trova applicazione nei primi giochi in VR. DLSS 3.0 è però l'artefice di una nuova rivoluzione. La vetrina perfetta per le nuove tecnologie di NVIDIA, da ora in avanti, diventa Cyberpunk 2077: Night City è il palcoscenico sul quale mettere in mostra tutta la potenza (e le potenzialità) del DLSS.

DLSS 3.5: Ray Reconstruction e lo stato dell’arte

L'evoluzione del DLSS
L'evoluzione del DLSS

Definire il DLSS 3.0 come una mera evoluzione della tecnologia di Super Sampling di NVIDIA non è del tutto corretto: con questa nuova versione infatti il DLSS non è più un singolo strumento, ma diventa un vero e proprio contenitore di varie tecnologie non più esclusivamente legate al concetto di upscaling. La portata di questa proposta è tale da meritare un approfondimento dedicato, soprattutto in virtù della sua innovazione più grande, ovvero il Frame Generation, il cui supporto è questa volta limitato alle schede di ultima generazione, le NVIDIA GeForce RTX serie 40. In questa sede ci limitiamo a constatare che la casa verde è riuscita di nuovo a dettare e ad imporre le regole per tutto il settore.

In ordine cronologico, DLSS 3.5 è l'ultimo capitolo (ma sicuramente non il finale) di questa lunga storia: con questo NVIDIA ha introdotto un'altra importante tecnologia che prende il nome di Ray Reconstruction, un algoritmo inedito demandato al miglioramento delle immagini che sfruttano gli effetti grafici basati sul ray tracing. DLSS 3.5 assume le veci dei tradizionali denoiser e migliora le zone dell'immagine che mettono in mostra gli effetti di luce generati, appunto, dal ray tracing, allargando di nuovo la sua compatibilità a tutte le generazioni di schede video RTX. Anche in questo caso, il funzionamento specifico di questa nuova funzionalità, richiede un approfondimento specifico che non mancheremo di presentarvi.

Cyberpunk 2077 con DLSS 3.0 attivo
Cyberpunk 2077 con DLSS 3.0 attivo

La storia, fin qui, è piuttosto chiara: negli ultimi cinque anni il DLSS di NVIDIA ha letteralmente sovvertito le regole del gioco, in tutti i sensi. La tecnologia della casa verde, non solo ha consentito l'implementazione di funzionalità grafiche mai viste prime nei videogiochi, ma ha letteralmente spinto tutti i produttori a insistere sulla via delle tecnologie di super sampling basate sull'intelligenza artificiale. Tale svolta ha portato all'FSR, ovvero il FideltyFX Super Resolution di AMD e all'XeSS di Intel, tecnologie che si pongono lo stesso obiettivo del DLSS a partire da approcci più o meno differenti.

La stessa Microsoft ha recentemente svelato DirectSR, una funzionalità integrata nelle DirectX 12 Ultimate che promette un'ulteriore semplificazione dei processi di implementazione delle tecnologie sopracitate e che sarà presentata ufficialmente nel corso della GDC 2024.
L'evoluzione di questo segmento sembra tutt'altro che terminata e le ultime applicazioni dell'intelligenza artificiale mostrate da NVIDIA promettono un futuro radioso che travalica i confini della grafica. Noi, personalmente, non vediamo l'ora di sapere cosa ci riserverà l'industria.