Ray tracing in arrivo sulle Nvidia GeForce GTX Pascal e Turing

Il ray tracing arriva anche sulle GPU "non RTX" dalla GTX 1060 6GB in poi. Ecco i dettagli dell'implementazione, che richiederà un driver apposito.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Il ray tracing arriva anche sulle GPU Pascal. Precisamente da aprile, tramite un aggiornamento dei driver Game Ready di Nvidia. Le schede coinvolte partono dalla GeForce GTX 1060 6GB e superiori (comprese ovviamente le ultime GTX 16 Series basate su GPU Turing ma prive di RT core), e con schede s'intendono anche le GPU Pascal e Turing dei portatili.

Qualcuno aveva ipotizzato questa mossa dopo aver visto la demo Neon Noir di Crytek girare su una Vega 56, ma è evidente che non si tratta di una reazione, dato che l'annuncio non è stato fatto in fretta e furia. "La base installa più ampia di GPU in grado di gestire il ray tracing spingerà l'adozione della tecnologia tra gli sviluppatori, permettendo agli utenti RTX e GTX di sperimentare più giochi", sottolinea Nvidia.

In cosa consiste il supporto al ray tracing per quanto riguarda le GeForce GTX prive di RT core? Nvidia ci ha spiegato che i giocatori avranno l'opportunità di usare il ray tracing a impostazioni di qualità e risoluzioni più basse, mentre gli utenti con GPU GeForce RTX godranno di un aumento delle prestazioni di 2/3 volte grazie agli RT core dedicati, e questo consentirà di godere del ray tracing a qualità maggiore, con risoluzioni superiori e a frame rate più alti.

Il ray tracing introduce diversi nuovi carichi di lavoro. Il primo è determinare quale triangolo nella scena di gioco intersecherà un raggio. Per farlo si usa una tecnica, molto esigente dal punto di vista della potenza di calcolo, chiamata Bounding Volume Hierarchy, o BVH. Dopo che i raggi sono stati calcolati, un algoritmo di denoising (di ripulitura) viene applicato per migliorare la qualità visiva dell'immagine finale, in modo da usare un numero minore di raggi, consentendo così che il processo avvenga in tempo reale.

Gli RT Core delle GeForce RTX non sono altro che hardware deputato ad accelerare BVH e i calcoli sull'intersezione tra raggi e triangoli, e possono accelerare il ray tracing. Sulle GeForce GTX questi calcoli sono svolti sugli shader, che però sono condivisi con altre funzioni grafiche.

Come si può vedere analizzando un frame di Metro Exodus, gioco che figura un'illuminazione globale in ray tracing, su una GPU Pascal sono i shader core FP32 a occuparsi delle operazioni del ray tracing e di tutte le altre funzioni. Di conseguenza i tempi si allungano e gli FPS sono minori.

Un'architettura Turing senza RT core (nel caso specifico è stata usata una RTX 2080 con un software speciale per disattivarli), usa invece i core INT32 che lavorano parallelamente ai core FP32. Questa è la situazione delle schede GeForce GTX serie 16, la GTX 1660 e GTX 1660 Ti (arriverà anche una GTX 1650) presentate nelle scorse settimane, e come vedete il tempo di rendering del frame si riduce sensibilmente.

Abilitando gli RT core, il carico sugli shader crolla e le prestazioni migliorano. "Esaminando solamente il sottoinsieme legato al ray tracing del carico grafico, la RTX 2080 è fino al 10 volte più veloce". Se al tutto si aggiunge il DLSS, la tecnologia che sfrutta i Tensor core delle GPU Turing RTX, il frame rate di Metro Exodus è circa 3 volte più veloce su una RTX 2080 rispetto a una GTX 1080 Ti.

Come potete vedere dai grafici qui sopra, le prestazioni in ray tracing variano da gioco a gioco e in base all'effetto. In Battlefield V i riflessi in ray tracing impongono un carico meno esigente rispetto alla global illumination di Metro Exodus e agli effetti di ombra di Shadow of the Tomb Raider.

"Quando DXR sarà abilitato da un driver Game Ready in arrivo nel mese di aprile, le GeForce GTX supportate funzioneranno senza aggiornamenti dei giochi perché i titoli con supporto al ray tracing sono basati sull'API DXR (DirectX Raytracing), parte delle DirectX 12. Questa API standard usa carichi ray tracing compatibili con entrambe le unità hardware dedicate, come gli RT core e gli shader core generici della GPU".

Nvidia ha anche annunciato che il ray tracing, già integrato nel motore Unreal Engine in preview, farà parte anche del motore Unity (da aprile), permettendo così agli sviluppatori di creare giochi con supporto alla tecnologia di rendering in modo più facile e rapido. L'azienda ha anche mostrato una demo di Quake II RTX, una versione "nettamente migliorata e aggiornata" di Q2VKPT, versione di Quake II creata da Christoph Schied, a cui era stato aggiunto il ray tracing e di cui vi abbiamo informato a gennaio.

Tra i nuovi giochi in arrivo con supporto al ray tracing, Nvidia ha annunciato Dragonhound di Nexon, un online action RPG e Control, il nuovo progetto di Remedy Entertainment in arrivo nel corso dell'estate, un action-adventure in terza persona.

Per quanto riguarda gli sviluppatori, Nvidia ha presentato GameWorks RTX, un insieme di strumenti completo che permetterà d'implementare effetti di ray tracing in tempo reale nei giochi. È disponibile in forma open source sotto licenza GameWorks e include i plugin per le preview di Unreal Engine 4.22 e Unity 2019.03.