Giocare a risoluzioni maggiori senza rinunciare al framerate è possibile. Scopriamo la nuova tecnica open source di AMD chiamata FidelityFX Super Resolution 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
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.
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:
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.