FSR 2.0 alla prova dei fatti

Giocare a risoluzioni maggiori senza rinunciare al framerate è possibile. Scopriamo la nuova tecnica open source di AMD chiamata FidelityFX Super Resolution 2.0.

FSR 2.0

Ma quanto sono belli i giochi next gen, con la grafica che sfiora il realismo fotografico e l’illuminazione in ray tracing che rende tutto più vivo, perfetto e pulsante! Peccato però che – ray tracing o no – tutto questo richieda un grandissimo sforzo per le nostre schede video e, con l’incredibile inflazione dei loro prezzi, l’idea di comprarne una nuova per molti di noi è rimasta, per l’appunto, soltanto un’idea. Fortuna vuole che tutti i produttori di GPU abbiano compreso molto bene il problema e, anche allo scopo di convincere gli indecisi a fare il grande passo, ci siano venuti incontro con delle tecnologie di upscaling e di ricostruzione delle immagini in grado di incrementare il framerate alle risoluzioni più elevate, o anche semplicemente di rendere più accessibili quelle più usate anche a schede video di fascia inferiore.

TRE SONO LE TECNOLOGIE DI UPSCALING PIÙ NOTE: DLSS, XESS E L’OPEN SOURCE FSR

Per il suo DLSS Nvidia ha sfruttato i tensor core delle schede RTX, precludendone quindi l’uso a tutti coloro che ne sono privi (ovvero quell’imponente esercito di giocatori che dispone di una GeForce GTX o di una concorrente), Intel sta ancora lavorando alacremente sul suo XeSS (che probabilmente vedremo soltanto dopo l’effettiva commercializzazione delle sue schede video), mentre AMD ha risposto inizialmente con il suo FidelityFX Super Resolution, più famoso per le iniziali FSR e per la ridotta qualità visiva in modalità “performance”. Ciò che d’ora innanzi chiameremo FSR 1.0, tuttavia, aveva due innegabili vantaggi: funzionava su tutte le schede video, anche quelle concorrenti e attempate, e grazie alla sua natura open source poteva essere studiato con facilità dai programmatori, che nel giro di un anno lo hanno implementato in più di 100 giochi. Con l’arrivo di Deathloop, God of War e Farming Simulator 22 è invece cominciata l’era di FSR 2.0, un algoritmo di upscaling e ricostruzione di tipo temporale che, similmente a quanto capitò col suo predecessore, non fa uso di hardware proprietario ed è disponibile sotto licenza open source, liberalizzandone quindi l’uso e garantendo la compatibilità con qualunque scheda video, sia essa una Radeon oppure no.

COME FUNZIONA

Tutti sappiamo che, per aumentare la quantità di frame al secondo prodotta da un videogioco, è sufficiente abbassarne la risoluzione. Banale, non trovate? Se non posso giocare fluidamente a 2560×1440 pixel perché la mia scheda video non ce la fa, basta che io ‘scenda’ a 1920×1080 o a una risoluzione ancor più bassa per ottenere un considerevole aumento di fotogrammi. Il problema, coi monitor LCD, è che qualsiasi risoluzione inferiore a quella del pannello produce vistose sfocature e artefatti piuttosto fastidiosi. FSR, in generale, produce i fotogrammi a una risoluzione inferiore a quella in uso e cerca di ricostruire i pixel mancanti con qualche algoritmo ad hoc. La versione 2.0 sfrutta tre buffer (depth buffer, motion vector buffer e color buffer) nella pipeline di rendering confrontando i valori del fotogramma corrente con quelli precedenti, ottenendo in questo modo un’immagine scalata di buona qualità e un antialiasing praticamente perfetto, senza dover applicare successivamente un altro filtro analogo durante il post processing, come avveniva invece nella prima versione della tecnologia. In pratica, upscaling e antialiasing vengono calcolati direttamente nella pipeline immediatamente dopo il rendering, prima ancora di passare attraverso le fasi di post processing. Per i programmatori, questo significa seguire correttamente le istruzioni che la stessa AMD ha pubblicato sul portale di Github, mentre per noi giocatori significa poter scegliere tra quattro ‘preset’ chiamati, con tanta fantasia, “Quality”, “Balanced”, “Performance” e “Ultra Performance”, ognuno dei quali caratterizzato da un fattore di upscaling superiore.

LE QUATTRO MODALITÀ

Esattamente come nel proverbio popolare, tocca scegliere tra la “botte piena” (la massima velocità) e la “moglie ubriaca” (la migliore qualità visiva) e chiaramente una scelta esclude l’altra, trovando al massimo un compromesso nell’impostazione “bilanciata”. Prendiamo come riferimento la classica risoluzione 4K, 3840×2160, e vediamo come si comporta un ipotetico videogioco che supporti FSR 2.0. Escludendo del tutto la tecnologia (Off) il rendering avverrebbe con fattore di upscaling pari a 1x (quindi: nessun upscaling), per cui le nostre immagini verrebbero renderizzate alla medesima risoluzione; attivando FSR 2.0 in modalità Quality, invece, verrebbe applicato un fattore di 1,5x, quindi il nostro gioco verrebbe renderizzato non più a 4K, ma 2560×1440 pixel; in modalità Balanced il fattore sale a 1,7x, quindi la risoluzione reale di rendering si abbassa a 2259×1270 pixel; in modalità Performance il fattore raddoppia (2x), per cui il gioco verrebbe renderizzato in Full HD (1920×1080) e, infine, in modalità Ultra Performance addirittura triplica (3x), con la risoluzione di rendering che scende addirittura a 1280×720 e il resto che viene “ricostruito” rapidamente dall’algoritmo. Per il tempo effettivo di rendering si tratta proprio di un bel risparmio: se prendiamo in considerazione la modalità Performance, la GPU dovrebbe renderizzare soltanto un quarto dei pixel della risoluzione originaria, spendendo poi buona parte del suo tempo a riempire lo schermo con i pixel “mancanti”. Ma quanto richiede questa operazione? La pagina di Github ci corre in aiuto con una tabella piuttosto esplicativa, che chiaramente dimostra come l’efficacia della tecnologia sia inversamente proporzionale all’età della GPU.

FSR 2.0

Maggiore è il numero di millisecondi necessario a generare ogni singolo fotogramma e minori saranno le prestazioni percepite. Ricordiamoci, tuttavia, che quando un gioco gira a 60 FPS, ogni singolo fotogramma permane sullo schermo per circa 16,7 millisecondi, molti di più di quelli necessari per il funzionamento di questa tecnologia, per cui è plausibile che essa abbia effetti benefici, seppur limitati, anche con GPU piuttosto attempate: il gioco tal dei tali produce solo 48 fotogrammi al secondo, a 1920×1080 pixel, sulla vostra gloriosa Radeon RX 590? Con FSR 2.0 attivato potrebbe avvicinarsi a 60! E lo stesso vale anche per le analoghe GPU della concorrenza.

UN REQUISITO: LA MEMORIA

Come abbiamo premesso, FSR 2.0 non ha bisogno di hardware “aggiuntivo” o dedicato come i tensor core, ma chiaramente va a impattare sull’uso delle risorse già presenti. In particolare, deve allocare uno spazio nella VRAM da dedicare unicamente ai suoi calcoli. Questa memoria viene utilizzata per memorizzare le superfici intermedie calcolate dall’algoritmo FSR2, nonché le superfici persistenti in molti frame dell’applicazione. Quanta ne serve? Lo vediamo in quest’altra tabella:

Non è tantissima se il nostro obiettivo è semplicemente dare una spintarella a una vecchia gloria in Full HD: nella peggiore delle ipotesi bastano poco più di 75 MB sui 3-4 GB normalmente disponibili anche sulle schede più attempate. Possono diventare impegnativi i circa 300 MB richiesti dalla risoluzione 4K ma, realisticamente, chi crede di poter giocare a God of War a 4K, con una scheda di 7 o 8 anni fa? Intanto, chi volesse approfondire i requisiti per implementare FSR nei propri giochi, può leggere la documentazione completa su Github.

VELOCITÀ E QUALITÀ VISIVA

Dobbiamo ringraziare AMD per averci messo a disposizione una Radeon RX6600 XT, indubbiamente una delle schede più interessanti del momento: al pari delle GeForce RTX 3060 Ti, è uno dei modelli di fascia media con cui l’applicazione di FSR 2.0 comporta l’interessante possibilità di giocare a 4K con scioltezza, mentre la risoluzione ‘ideale’ per queste GPU è la più moderata 2560×1440, come evidenziato anche dalle nostre recensioni. Abbiamo potuto provare la tecnologia con God of War e con Farming Simulator 22, alla risoluzione ultra wide di 3440×1440 pixel. Delle prestazioni non ci possiamo di certo lamentare:

Siamo al cospetto di due titoli molto diversi tra loro: il primo è certamente più impegnativo, con le schede di fascia media che faticano a superare i 45 frame/secondo a risoluzione UWQHD alle impostazioni di massima qualità visiva; il secondo invece è molto meno pretenzioso, chiaramente, e l’aumento di prestazioni diventa utile soltanto a scopo di benchmarking. Nonostante tutto, possiamo osservare come l’applicazione di FSR 2.0 porti God of War fino alla soglia dei 60 frame per secondo, partendo da un valore che può entusiasmare soltanto i fan di Douglas Adams, mentre accompagni via via il simulatore di azienda agricola da un minimo bucolico di 114 fps a un massimo di 167, un aumento del 50% circa! Notevole, anche se chiaramente tutto quello che si guadagna in prestazioni (ricordate?) richiede qualche sacrificio in termini di qualità percepita. Partiamo per esempio da God of War:

Questo è lo screen originale, con FSR 2.0 disattivato. Ora andiamo a vedere i particolari:

Come possiamo notare, i dettagli che si perdono immediatamente sono quelli più piccoli e sottili, come i ramoscelli e le foglie dell’albero dietro ad Atreus. Resta invece lodevole la qualità generale di tutto il resto, almeno fino all’applicazione della modalità Performance. È solo con l’Ultra-Performance che i contorni di texture, modelli e personaggi cominciano ad andare visibilmente in crisi. In questa modalità lo screenshot sembra colpito dalle aberrazioni della compressione JPG, mentre le stesse immagini in movimento sembrano quelle di un film in DivX. L’impressione è che la tecnologia concorrente DLSS, nelle condizioni più estreme, riesca comunque a mantenere una qualità generale leggermente più alta, ma in tutte le altre modalità FSR 2.0 risulta essere molto competitivo. Passiamo adesso a Farming Simulator 22, dove possiamo osservare un confronto con la tecnologia precedente FSR 1.0:

Come già fatto sopra per God of War, questo è lo screen originale con FSR 2.0 disattivato. Andiamo ora a vedere il confronto fra le due tecnologie, per ogni livello di upscaling, utilizzando ancora una volta un dettaglio dell’immagine sopra:

FSR OFF

Anche da un piccolo particolare come questo, notiamo come i miglioramenti rispetto alla tecnologia precedente siano notevoli. In base alla qualità visiva scelta, le spighe di grano in lontananza appaiono più o meno sfocate, ma è l’applicazione del ‘filtro’ sui lampioni che mette in evidenza le differenze.

MIGLIORIAMO LA MESSA A FUOCO

Una delle regole suggerite da AMD per l’implementazione di FSR 2.0 è la coerenza nell’uso della terminologia. Le quattro opzioni – ammonisce l’azienda americana – dovrebbero sempre chiamarsi nello stesso modo (lo ricordiamo: Qualità, Bilanciato, Prestazioni e Ultra-Prestazioni, con relativi omologhi inglesi) ed essere accompagnate da un filtro chiamato Sharpening che, proprio come accade nei programmi di fotoritocco, serve a migliorare la nitidezza delle immagini. Lo sharpening porta via altro tempo di elaborazione ma restituisce immagini più definite. È piuttosto divertente provare e riprovare, fino a trovare il giusto equilibrio tra modalità dell’FSR, prestazioni e livello di nitidezza delle immagini.

Articolo precedente
Kentucky Route Zero Neoclassici

Neoclassici #4 – Kentucky Route Zero

Articolo successivo
Endless Dungeon Anteprima

Endless Dungeon – Anteprima

Condividi con gli amici










Inviare

Password dimenticata