DirectX 12 Ultimate, grafica all'ennesima potenza su PC e Xbox Series X

DirectX 12 Ultimate è il nome delle nuove librerie di Microsoft che, oltre a offrire pieno supporto alle DirectX Raytracing (DXR) 1.1, garantiscono pieno supporto a Variable Rate Shading, Mesh shader e Sampler Feedback. Una libreria comune a PC e console di nuova generazione.
di Manolo De Agostini pubblicata il 19 Marzo 2020, alle 18:26 nel canale Schede VideoAMDRadeonGeForceNVIDIAMicrosoftDirectXXbox
Si chiamano DirectX 12 Ultimate le nuove librerie di Microsoft che integrano non solo il massimo supporto al ray tracing, ma anche nuove tecniche come Variable Rate Shading, Mesh shader e Sampler Feedback sfruttabili dagli sviluppatori.
Comune ai PC Windows e alla nuova Xbox Series X, DirectX 12 Ultimate è pienamente supportata dalle schede GeForce RTX serie 20 di Nvidia basate su architettura Turing e dalle soluzioni AMD basate su architettura RDNA 2 (quindi non le attuali Navi come le RX 5700). Saranno pienamente integrate in Windows 10 20H1, il primo feature update di quest'anno del sistema operativo Microsoft, in arrivo a breve.
Cosa significa il termine DirectX 12 Ultimate in concreto? Il pieno supporto alle librerie DirectX Raytracing 1.1, migliorate rispetto alla versione 1.0, a cui si aggiungono per l'appunto Variable Rate Shading, Mesh shader e Sampler Feedback, che prima erano "soluzioni esterne" all'API. Al momento sul mercato dei giochi PC si contano oltre 30 giochi con supporto ray tracing, tra titoli disponibili e di prossimo arrivo. L'approdo delle console next-gen a fine anno farà lievitare quel numero, trasformando il ray tracing in uno standard di fatto.
Cos'è il ray tracing? Nelle prossime settimane pubblicheremo un approfondimento, ma in linea di massima - per chi non ne fosse ancora a conoscenza - è una tecnica di rendering che permette di riprodurre riflessi, riflessioni e ombre in modo molto più realistico rispetto alla classica rasterizzazione. Un gioco in ray tracing non è renderizzato totalmente in ray tracing, ma si parla di rendering ibrido, in quanto abbiamo una "fusione" di rasterizzazione e ray tracing.
Il Variable Rate Shading (che approfondiremo anch'esso in un articolo) è una tecnologia importantissima, sia in ambito PC ma soprattutto sul fronte delle console, dove ottimizzare l'uso della GPU è fondamentale per garantire ciò a cui sia Microsoft che Sony puntano: risoluzione 4K a 60 fps oppure frame rate fino a 120 fps per i giochi più leggeri, in stile Fortnite. Il Variable Rate Shading consente agli sviluppatori di focalizzare la potenza della GPU su aree specifiche dell'immagine di gioco, ad esempio determinati personaggi, un veicolo e la pista su cui si muove o altro, e meno su altre aree che si possono definire "secondarie".
Il resto dell'immagine fuori dal focus del videogiocatore può essere riprodotto con un livello grafico leggermente inferiore, permettendo così alle GPU di raggiungere un frame rate più alto. Di fatto, in una scena di gioco solo una frazione delle aree richiede il massimo dettaglio, mentre le altre possono anche perdere qualche "sfumatura" poco importante ai fini della qualità complessiva, ma importante per guadagnare prestazioni.
L'esempio più facile è quello di un gioco di corse automobilistiche: è necessario riprodurre al massimo del dettaglio grafico le vetture e la strada, ma al tempo stesso non è importante se il pubblico sugli spalti è leggermente meno definito – il che non significa che vi sia un crollo dell'aspetto grafico, è un calo ridotto non facilmente percepibile. D'altronde le auto si muovono rapidamente e l'attenzione dei nostri occhi è su altri aspetti. L'impatto visivo per il videogiocatore è di conseguenza nullo o quasi, ma le prestazioni migliorano sensibilmente.
Mesh shader, una soluzione di cui ha parlato per prima Nvidia presentando le GPU Turing, offre agli sviluppatori nuove possibilità per realizzare scene più complesse ed evitare alcuni colli di bottiglia in cui gli sviluppatori s'imbattono oggigiorno. Ad esempio, il nuovo approccio permette alla memoria di essere letta una volta e mantenuta sul chip.
Nel caso dell'architettura Turing di Nvidia, i mesh shader permettono di usare thread in modo cooperativo per generare mesh compatte direttamente sul chip, a disposizione del rasterizzatore. Si tratta di un approccio a due fasi, più semplice, benefico per applicazioni e giochi con una complessità geometrica elevata. Questo approccio migliora la programmabilità della pipeline geometrica, permettendo l'implementazione di avanzate tecniche di culling o la generazione di una topologia completamente procedurale. Nvidia ha pubblicato la demo Asteroids, in cui mostra i mesh shader in azione, che potete vedere qui sopra.
Infine, Sampler Feedback. Si tratta di una tecnologia che consente agli sviluppatori di catturare e registrare informazioni e posizioni sul campionamento delle texture, direttamente in hardware. Ciò permette di caricare in memoria solo le porzioni di texture di cui la GPU ha bisogno per una scena, al momento giusto. Poiché evita lo spreco di caricare in memoria le porzioni di texture che non sono necessarie, permette di sfruttare al meglio la memoria fisica e lo storage a disposizione. Ciò è particolarmente utile nel rendering a risoluzioni elevate come il 4K, durante le quali le texture ad alta qualità richiedono grandi insiemi (pool) di memoria.
1 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoDevi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".