Guida Nvidia DLSS, AMD FSR e Intel XeSS le nuove tecnologie di Upscale e Super Sampling

Hastro

Utente Emerald
14 Febbraio 2012
423
60
169
361
Ultima modifica da un moderatore:
AMD FSR 2.0, Nvidia DLSS ed Intel XeSS. Le nuove tecnologie di upscaling presentate dalle diverse case di produzione, in un era tecnologica sempre in evoluzione

Untitled-design-56.png



"La complessità di un microcircuito, misurata ad esempio tramite il numero di transistor per chip, raddoppia ogni 18 mesi (e quadruplica quindi ogni 3 anni)"

zr7ofpk.png

Presentata come "la prima legge di Moore", il citato qui sopra rappresenta la legge empirica che guidò la base del processo evolutivo dei processori, tra la fine degli anni '50 e la metà degli anni '60.

Il processo evolutivo dei chip era appena iniziato, e gli studiosi, già intravedevano un'evoluzione FISICA che avrebbe poi portato, i processori odierni, ad una potenza decisamente più concreta. Come se non bastasse, questi "chip" si evolsero, aumentando la serie di funzioni che potevano svolgere e aggiungendo, via via, componenti sempre più sofisticati, che consentivano di dividere il carico di lavoro (internamente al chip) e svolgere funzioni più complesse, o dividendo il proprio carico di lavoro ad altri componenti esterni, che potevano gestirlo in maniera autonoma (e più veloce, visto che dedicati)!

2QVSyCn.png
L'evoluzione dei processori portò tutta l'architettura delle macchine, a compiere un saluto evolutivo non indifferente (i chip diventavano mano a mano più piccoli, o componenti interni aggiornavano le proprie uscite, ad esempio) facendo tendere tutto il "concetto di computer" ad un'evoluzione costante e specifica. Successivamente al rilascio del VGA, standard introdotto nel 1987, l'industria iniziò una produzione di massa di hardware dedicato al rendering video, erano gli albori delle prime schede video dedicate (come le conosciamo oggi).

In questi anni, a partire dalle uscite video, ai diversi processori (acceleratori) grafici, alle diverse tecnologie impiegate per lo sviluppo videoludico, abbiamo notato come l'evoluzione delle GPU si sia spostata da un concetto prettamente fisico (memorie più veloci, processori più potenti, SDK più recenti, driver migliori) ad un concetto più metafisico: le diverse case di produzione (quali intel, nvidia, amd) hanno iniziato ad integrare nei loro chip, alcune tecnologie nuove (con hardware dedicato, per alcune) che consentono di sfruttare meglio la potenza di calcolo delle nostre schede video.

Prima di proseguire è bene fare chiarezza: le tecnologie di contorno agli hardware grafici, sono in realtà sempre esistite, tuttavia non hanno mai avuto un ruolo fondamentale
6i0Itgd.png
nell'industria, che contava per lo più "sulla potenza bruta", restando per lo più marginali al processo evolutivo e allo sbandieramento nel marketing.

Con il passare del tempo, i processori si sono avvicinati sempre di più al loro "limite fisico", ed è diventato sempre più complesso mantenere un processo di produzione evolutivo, che diminuisse di volta in volta i nanometri "delle piastrine d'argento", e garantisse prestazioni nettamente migliori rispetto alla generazione precedente.

Il risultato è che è nata la necessità, per le case di produzione, di trovare altrove dove investire i propri sforzi al fine di garantire un hardware sempre migliore, per giustificare la spesa di costo.

Siamo nel 2019, anno in cui Nvidia annuncia il rilascio del RayTracing e della sua nuova tecnologia (con hardware dedicato) DLSS.






1    Nvidia - DLSS



Iniziamo con il cavallo di battaglia. Pubblicato per la prima volta nel 2019 nella sua versione 1.0, il dlss è una tecnologia che si basa sul concetto di upscale dell'immagine (video):
Utilizzando alcuni algoritmi specifici, il DLSS è in grado di reindirizzare un'immagine a bassa qualità, in una ad alta qualità, così da far risparmiare risorse importanti alla GPU, che possono essere utilizzate per generare più FPS! Ovviamente l'immagine finale avrà un margine d'errore, che verrà corretto tramite l'utilizzo dell'intelligenza artificiale (che "gira" su hardware dedicato).

In realtà se si guarda il mondo delle console, i sistemi di upscale e simili sono sempre esistiti, con la differenza che non sono mai stati introdotti su pc, ritenuto sempre "mainstream" rispetto alle console; l'introduzione di un hardware dedicato per migliorare la qualità finale dell'immagine ha, tuttavia, concesso anche ai pc-player di poter sfruttare tali tecnologie e beneficiare di ottimizzazioni di non poco conto, soprattutto in vista dell'introduzione di algoritmi molto pesanti quali il RayTracing.

Il DLSS ha avuto diverse iterazioni, evolvendosi e introducendo (o eliminando) alcune tecnologie di contorno per velocizzare il processo. Attualmente esistono 3 iterazioni, anche se già si parla di una quarta versione che dovrebbe essere rilasciata a breve!


VersioneData di RilascioNote
v1.002/2019Utilizza intelligenza artificiale allenata e mirata
v2.0 (prima e seconda iterazione)08/2019 - 03/2020Rimosso l'utilizzo dell'intelligenza artificiale, reintrodotta nella seconda iterazione con il Neural Graphics Framework
v2.X2021Aggiunto il DLAA


1.0.1    Versione 1.0


Sfruttando il Super Sampling tradizionale, l'algoritmo generava un "fotogramma perfetto" con cui poi addestrava la rete neurale. La rete veniva collegata a super computer di nvidia, che processavano ogni ora "tonnellate di fotogrammi" con cui allenare la rete neurale, aggiornata poi con il rilascio delle diverse versione dei driver (o direttamente con aggiornamenti mirati al DLSS introdotto nell'engine del gioco). Il risultato è che durante l'upscale la rete neurale della GPU aveva come modello di riferimento diversi fotogrammi perfetti da cui prendere spunto per la ricostruzione dell'immagine. Successivamente il DLSS 1.0 venne aggiornato alla versione 1.X che introduce la possibilità di riconoscere input distorti (Sottocampionamento/Aliasing), oltre che ad una cross-compilation: Metro exodus ad esempio può utilizzare il DLSS 2.1 anche se è stato rilasciato con la versione 1.2


1.0.2    Versione 2.0 (I° e II°)


Nella prima iterazione (di questa seconda versione) Nvidia si concentrò sulla rimozione del concetto di "allenamento". Il DLSS doveva essere uno strumento "General Purpose" e non intrinsecamente collegato ad un singolo titolo allenato, in oltre introduce nuove tecniche di feedback temporale (il famoso aliasing temporale di nvidia TAA). Per la prima volta vengono presentate 4 diverse modalità con cui bilanciare il DLSS (Quality, Balanced, Performance, Ultra Performance), i quali regolano la qualità dell'immagine finale e danno controllo sulla possibilità di generare più FPS a discapito della qualità. Nella seconda iterazione della versione 2, viene reintrodotta la rete neurale e Nvidia pubblica anche un SDK.


1.0.3    Versione 2.X


Il DLSS viene ulteriormente ottimizzato, e Nvidia introduce anche il nuovo DLAA:

nvidia-dlaa-eso-28-09-2021.jpg

Ovviamente abbiamo parlato di hardware dedicato, difatti è possibile utilizzare il DLSS solo a partire dalla serie RTX2000 in poi di Nvidia, i possessori di schede video precedenti a questa versione possono rifarsi al più recente (NIS), tecnica di upscaling che implementa tale tecnologia o via driver (quindi basta possedere il driver per utilizzarlo) o tramite SDK e implementato poi dai singoli sviluppatori.

Inizialmente il brevetto DLSS, doveva essere venduto direttamente alle aziende che operavano con Nvidia tramite ottimizzazioni (e driver), ma successivamente al rilascio dell'FSR (di cui parleremo più tardi) Nvidia rilasciò il plug-in gratuitamente sia su Unity che su UnrealEngine, in più concesse quest'ultimo ad altre case di sviluppo. Potete trovare maggiori informazioni su RT-on e DLSS nella nostra discussione "Nvidia e le nuove tecnologie"



2    AMD - FSR



In risposta alla pubblicazione del DLSS, AMD non si è persa in chiacchiere e ha studiato un proprio modello che potesse competere e fronteggiare la rivale verde.

Era abbastanza scontata la risposta vista la pubblicazione di GPUOpen nel 2016, piattaforma opensource dove AMD rilascia tutti i suoi tool opensource, dove fanno già parte famosi effetti come "ShadowFX", "FidelityFX CAS" e molte altre tecnologie. La casa rossa non ha perso tempo e nel 2021 ha rilasciato su GitHub la prima versione del suo FSR!

foto-generiche-167374.jpg

L'FSR è una tecnologia che utilizza un classico algoritmo di handwriting* per campionare l'immagine a bassa risoluzione e "upscalarla" poi a risoluzione maggiore.
Non sfrutta hardware dedicato, questo la rende retrompatibile su una vasta gamma di schede video (supporta anche i competitor ... eh si, potete utilizzare FSR di AMD su GPU Nvidia/Intel comunque!).


Depositato come "Gaming Super Resolution" nel 2019, il brevetto rivela informazioni importati riguardo il funzionamento di quest'ecosistema:
AMD ha scelto un approccio ibrido per upscaling, combinando assieme l'approccio lineare e non, per garantire un immagine di qualità sempre elevata: la rete neurale si occupa unicamente di immagazzinare le informazioni LINEARI, il che traduce il tutto in un'immagine sfocata e poco nitida, alla quale bisogna poi aggiungere le informazioni NON LINEARI.


Tramite questa combinazione l'algoritmo riesce a mantenere, sia i colori e la definizione della parte LINEARE, sia a conservare le caratteristiche e i dettagli della versione non lineare. L'immagine ha quindi un percorso parallelo: da una parte processata linearmente, dall'altra NON linearmente e con questa "mappatura" di informazioni differenti, genera una rete di pixel alla quale verrà applicata l'immagine nitida. Prima di presentarla a schermo, l'immagine esegue un ultimo step: eseguendo la pulizia dei fotogrammi (e dei pixel) e cercando errori all'interno del fotogramma scelto. Completati i vari step, l'immagine viene presentata a video a risoluzione maggiore.

Tutti i tool contenuti in GPUOpen sono opensource e puntano a lavorare al più basso livello possibile e ad essere retrocompatibili con diverse API. Attualmente la gran parte degli effetti AMD supporta: DX12, Vulkan, OpenGL.


2.0.1    AMD FSR 2.0


Recentemente AMD ha fatto sapere che l'FSR verrà aggiornato a sua volta in una nuova iterazione. Durante questo "upgrade", la tecnologia amd, passerà a un upscale di tipo spaziale, più che a quello temporale implementato nella sua prima versione.

Ciò si traduce con un impatto decisamente più importante sulle prestazioni: vedremo un guadagno di FPS decisamente minore, ma garantirà la possibilità di avere un'immagine a più alta definizione. Inoltre AMD ha affermato che rilascerà un SDK per consentire a Xbox di implementare tale tecnologia anche sulle sue "macchine".

FSR 2.0 utilizzerà vettori di movimento, dati relativi al colore e alla profondità direttamente nella pipeline di rendering, oltre a sfruttare i framerate precedenti, per restituire un'immagine nitida e coerente.

*handwriting: algoritmo che legge le caratteristiche di un'immagine e le converte in una codifica comprensibile alla macchina



3    Intel - XeSS



"Dulcis in fundo", Intel Arc!

Il primo tentativo (finito male) della casa Californiana, nel mondo delle "gpu", risale esattamente nel febbraio del 1998 (Intel740). Da sempre più votata al mondo dei processori, dopo un primo fallimento Intel si ritirò dalla scena gpu (dedicate) proseguendo il suo sviluppo prioritario sui già noti processori omonimi e includendo le famosissime "Intel Graphic HD" all'interno di questi (a partire dal 2010).

I tentativi di sfruttare processori grafici all'interno di produzione consumer, ha fatto passare intel per diversi tentativi come il famosissimo progetto Larrabee, o il progetto "Ponte vecchio", ed altri progetti mai divenuti duraturi, fino all'ennesimo annuncio della produzione (nome in codice) dell'architettura Xe, avvenuto per la prima volta su nel 2018

"Le Arc Alchemist" sono le GPU destinate al mercato gaming, realizzata su nodo produttivo a 6nm TSMC, basano la loro potenza sugli Xe-Core. I vari Xe-Core sono raggruppati in coppie da 4, ed ogni Core integra 16 motori vettoriali a 256bit, 16 motori a matrice a 1024bit e un unità hardware dedicata al raytracing! Ovviamente memorie GDDR6 con un BUS a 256bit.

intel-xe-hpg-arc-alchemist-architecture-day-2021-10.JPG

Fatta questa breve introduzione, vediamo qualche curiosità su questa fantomatica nuova tecnologia:

Anzi tutto, anche Intel XeSS non necessità di un addestramento della rete neurale (esattamente come la seconda iterazione del DLSS 2.0), ma si tratta di una tecnologia che offrirà un' API UNICA per un implementazione più sicura, efficiente e veloce.

Recenti interviste, hanno fatto altresì trapelare un'affermazione importante: per quanto le GPU intel si avvalgano di hardware dedicato per l'upscaling, la tecnologia XeSS di intel, potrà essere sfruttata anche da competitor. L'API unica rilasciata da intel sembrerebbe quindi rilevare o meno la presenza delle matrici XMX e quindi selezionare automaticamente il rendering XMX o DP4a. (Nota: Intel XeSS non può utilizzare hardware dedicato dei competitor, quindi non si può avvalere dei Tensor Core di Nvidia, così come il DLSS non può avvalersi delle matrici XMX di Intel almeno per il momento!)

Non essendo state ancora rilasciate, ci sono poche informazioni sulle tecniche e le tecnologie impiegate da Intel riguardo all'upscale o alla tecnica di anti-aliasing che verrà applicata, Intel comunque promette rilasciare più informazioni e la repository pubblica di XeSS non appena "i tempi saranno maturi", ciò implica che anche XeSS diverrà in futuro una tecnologia OpenSource.



Spero che questo breve brefing sulle diverse tecnologie vi sia piaciuto, come sempre vi invito a commentare con domande, curiosità o magari informazioni aggiuntive. Siete riusciti ad accaparrarvi una scheda di ultima generazione? Quale tecnologia usi, e quale ti sembra la più promettente? Personalmente Gioco con una RTX2060, e il DLSS è stata una grandissima sorpresa!​



Maded with ❤️ for Inforge by @Hastro