INNO3D GeForce RTX 3070 iCHILL X3 [C30703-08D6X-1710VA38]

NVIDIA Ampere - Uno sguardo alla nuova architettura - Parte Terza

Il Motion Blur con accelerazione hardware implementato nell’architettura Ampere è pienamente supportato in numerosi software professionali, quali ad esempio Blender 2.90, Chaos V-Ray 5.0, Autodesk Arnold e Redshift Renderer 3.0.X utilizzando l’API NVIDIA OptiX 7.0.

L’incremento prestazionale è notevole, una nuova GeForce RTX 3080 è infatti capace di risultare fino a ben cinque volte più veloce di una precedente GeForce 2080 SUPER basata su architettura Turing.

Oltre alle unità di accelerazione dedicate anche varie tecniche di filtraggio avanzate possono aiutare ad incrementare le prestazioni e la qualità dell’immagine senza richiedere l’aggiunta di ulteriori raggi. Il “Denoising” ad esempio consente di migliorare la qualità visiva di immagini disturbate, ovvero costruite con dati sparsi, presentare artefatti casuali, rumore di quantizzazione o altre tipologie di rumore.

Così come esistono diversi tipi e cause di rumore dell’immagine, allo stesso modo esistono anche svariati metodi per risolvere questo genere di problematica. Il Denoising Filtering, ad esempio, consente di ridurre il tempo impiegato al rendering di immagini ray-traced ad alta fedeltà visivamente prive di rumore, sfruttando specifici algoritmi messi a punto da NVIDIA, basati o meno sull’intelligenza artificiale a seconda del caso di applicazione specifico.

Anche la qualità delle ombre è fondamentale per rendere maggiormente realistica l’atmosfera di una scena. Nella maggior parte dei giochi vengono utilizzate tecniche di Shadow Mapping in quanto veloci, semplici da implementare e non richiedono buffer speciali. L’approccio previsto è del tutto semplice e parte dal presupposto che qualunque oggetto visibile da una fonte di luce dovrà per forza apparire illuminato, al contrario qualunque oggetto non visibile sarà in ombra. Il risultato finale, seppur certamente gradevole a vedersi, non potrà certamente vantare il massimo dell’accuratezza.

Il ray-tracing, combinato con il denoising, consente alle GPU Turing e Ampere di superare i limiti delle Shadow Map, come la mancata corrispondenza della risoluzione, che rende difficile generare bordi accurati in presenza di ombre dure, e l’ìndurimento del contatto. Quest’ultimo può essere approssimato con tecniche quali Percentage Closer Soft Shadows (PCSS) e Distance Field Shadows, la prima (PCSS) particolarmente intensiva dal punto di vista computazionale e non ugualmente in grado di generare ombre completamente corrette in presenza di aree di illuminazione arbitrarie; la seconda (DFS) è fortemente limitata dalla geometria statica nelle attuali implementazioni.

Con l’accelerazione del ray-tracing basata su tecnologia NVIDIA RTX, in aggiunta ai sofisticati algoritmi di denoising veloce, le ombre ray-traced possono facilmente sostituire le obsolete Shadow Map e fornire una tecnica pratica per simulare l’indurimento del contatto fisicamente corretto in presenza di qualsiasi tipologia di illuminazione presente.

Come possiamo osservare in quest’ultima immagine, l’implementazione della Shadow Map seppur riesca ad uniformare i bordi delle ombre non è in grado di rappresentare un corretto indurimento dei contatti. Le ombre ray-traced vengono generate dalla stessa fonte di luce direzionale con angoli di cono variabili. Con questa tecnica si possono ricreare, se lo si desidera, ombre con bordi completamente duri (come mostrato nell’immagine in basso a destra con angolo di cono pari a 0°), oppure ombre morbide con indurimento corretto in relazione all’angolo di cono (figure mostrate sulla destra con angolo di cono pari a 1,5° e 10°).

L’aspetto che più mostra i vantaggi, in termini di qualità visiva, del ray-tracing, riguarda però i riflessi, specialmente se utilizzati in scene ricche di materiali speculari e lucidi. Le tecniche più comuni utilizzate oggi, come la Screen-space Reflections, seppur molto costose in quanto a risorse elaborative, spesso producono buchi e artefatti nell’immagine renderizzata. Le sonde Cubemap, per lo più statiche e a bassa risoluzione, non rappresentano una soluzione accettabile in presenza di materiali lucidi all’interno di scene con illuminazione prevalentemente statica.

Le riflessioni planari sono limitate dal numero che può essere generato facendo uso di tecniche basate sulla rasterizzazione. I riflessi ray-traced, al contrario, combinati con il denoising, evitano tutti questi problemi e producono riflessi privi di artefatti e fisicamente corretti, assicurando un deciso impatto visivo. Nelle immagini che seguono andremo a mostrare l’implementazione della tecnologia NVIDIA RTX all’interno dell’ultimo capitolo dell’apprezzata serie Battlefield, sviluppato da DICE.

Come possiamo osservare l’attivazione della tecnologia RTX assicura un maggior quantitativo di effetti all’interno della scena di gioco. Ad esempio è possibile osservare la rappresentazione di riflessi realistici sulla macchina provocati da un’esplosione scoppiata al di fuori dello schermo. Questo genere di riflessi sarebbe stato impossibile da riprodurre facendo uso di tecniche Screen-space Reflection, restituendo la scena visibile nell’immagine “RTX Off”.

In questa seconda serie di immagini viene mostrato un altro problema alla base dei riflessi di tipo non ray-traced. Nello specifico, nonostante sia presente un parziale riflesso sul suolo, possiamo osservarne la mancanza all’interno del mirino (correttamente riprodotto nella scena “RTX On”).


Sono varie le tecnologie che unite assieme hanno reso possibile la gestione in tempo reale del ray-tracing da parte dei processori grafici Turing e Ampere. Tra queste, volendo fare una breve sintesi, troviamo:


  • Rendering Ibrido: riduce la quantità di ray-tracing necessaria nella scena continuando a utilizzare la rasterizzazione per i passaggi di rendering in cui è considerata efficace, limitando il ray-tracing per i passaggi di rendering in cui la rasterizzazione è in difficoltà non riuscendo ad assicurare un impatto visivo realistico;
  • Algoritmi di riduzione del rumore (Denoising) delle immagini;
  • Algoritmo BVH: utilizzato per rendere le operazioni di ray-tracing molto più efficienti riducendo il numero di triangoli che devono essere effettivamente testati per trovare quelli effettivamente colpiti dai raggi di luce presenti nella scena;
  • RT Cores: tutte le ottimizzazioni precedentemente elencate hanno contribuito a migliorare l’efficienza del ray-tracing, ma non abbastanza da renderlo vicino al tempo reale. Tuttavia, una volta che l’algoritmo di BVH è diventato standard, è emersa l’opportunità di realizzare un acceleratore accuratamente predisposto per rendere le operazioni necessarie estremamente più efficienti. Le unità RT Cores messe a punto da NVIDIA sono proprio quell’acceleratore, capace di rendere le GPU notevolmente più veloci nell’elaborazione ray-tracing. Gli RT Cores di seconda generazione, implementati nell’architettura Ampere raddoppiano il tasso di test di intersezione raggio/triangolo rispetto alle precedenti soluzioni Turing, assicurando un livello prestazionale sensibilmente superiore.

In ambito prettamente videoludico NVIDIA ha mostrato i vantaggi di tutte le migliorie tecnologiche implementate nelle ultime architetture prendendo come esempio l’apprezzato titolo Wolfenstein: Youngblood. Come ormai abbiamo ben compreso, il Ray-Tracing in tempo reale richiede un notevole sforzo computazionale, che sarebbe di gran lunga fuori portata se fosse demandato ai soli shader (CUDA Cores).

Una soluzione grafica priva di unità dedicate, quale ad esempio una vecchia Pascal (GeForce GTX 1000 Series) non sarebbe in grado di assicurare performance accettabili in presenza di calcoli Ray-Tracing a carico dei soli shader. Nell’esempio proposto da NVIDIA, infatti, una GeForce GTX 1080Ti riesce a calcolare un frame tradizionale in 12ms, che salgono a ben 92ms introducendo anche il Ray-Tracing, rendendo il titolo praticamente ingiocabile.

Con l’architettura Turing sono stati ulteriormente ottimizzati gli shader, rendendoli di gran lunga più performanti, arrivando quasi a dimezzare il tempo di rendering e scendendo dai famosi 92ms necessari alla soluzione Pascal, fino ad appena 51ms.

La possibilità da parte di Turing di dirottare parte del lavoro su unità dedicate RT Cores e dei Tensor Cores, però, ha consentito di accelerare ancor più l’elaborazione come possiamo osservare nell’immagine che segue, in cui viene mostrata in azione una GeForce RTX 2080 SUPER. Usando esclusivamente gli shader occorrono 51ms per eseguire questo ipotetico singolo fotogramma (~20FPS). Quando il lavoro di Ray-Tracing viene spostato sugli RT Cores il tempo di rendering si riduce notevolmente, scendendo fino a 20ms (50FPS).

L’utilizzo dei Tensor Cores, per abilitare il DLSS, consente di scendere ulteriormente fino a raggiungere soli 12ms (~83FPS). Tirando semplicemente le somme, nel tempo necessario a Pascal per calcolare un frame tradizionale (12ms), la soluzione Turing è in grado non soltanto di occuparsi dello shading, ma anche del Ray-Tracing tramite RT Cores e di tutti i molteplici calcoli a carico dei Tensor Cores.

La recente architettura Ampere migliora ulteriormente questa situazione, forte di interventi ed ottimizzazioni espressamente mirati ad incrementarne l’efficienza e le prestazioni, quali come abbiamo osservato il raddoppio delle unità in virgola mobile (FP32), il maggior quantitativo e la differente gestione della memoria Cache, oltre che ovviamente la presenza di ancor più veloci unità dedicate RT Cores di seconda generazione.

Il risultato ottenuto è del tutto soddisfacente, basti pensare che viene ancora una volta quasi dimezzato il tempo di rendering necessario, passando dai 19ms della soluzione Turing, ad appena 11ms di Ampere (nel confronto osserviamo una GeForce RTX 2080 SUPER vs GeForce RTX 3080).

Prendendo come riferimento un frame contenente shading, calcoli Ray-Tracing e DLSS, l’architettura Turing impiegherebbe 13ms per portarne a termine l’elaborazione, mentre ad Ampere ne bastano 7,5ms operando nella stessa maniera, che scendono ulteriormente fino ad appena 6,7ms sfruttando l’efficiente esecuzione parallela dei calcoli di cui è capace la nuova architettura messa a punto da NVIDIA.

Newsletter HW Legend


Caricamento