DirectX testa una riduzione del 90% della memoria per il ray tracing

DirectX testa una riduzione del 90% della memoria per il ray tracing

Microsoft ha misurato un calo dell'uso di memoria per il ray tracing da 7,5 GB a 774 MB in un test con una AMD Radeon RX 9070. Il miglioramento arriva con due nuove funzioni in anteprima per DirectX Raytracing (DXR): Clustered Geometry e Partitioned TLAS. Nello stesso test, il frame rate è salito da 1,2 a 79 fps.

La riduzione sfiora il 90%, ma non è un miglioramento automatico per qualsiasi gioco o scheda. Microsoft presenta le funzioni come parte di Agility SDK 1.722-preview, e la loro disponibilità dipende dall'implementazione e dalla convalida dei driver da parte dei produttori. L'azienda le descrive come il più grande aggiornamento di DXR dal suo debutto nel 2018.

Per DXR questo è l'aggiornamento più significativo dal suo debutto nel 2018.

— Microsoft

Due modifiche per aggiornare meno dati

Clustered Geometry suddivide le mesh in gruppi riutilizzabili di triangoli. Ogni struttura di livello cluster (CLAS) può contenere fino a 256 triangoli e 256 vertici. In seguito, l'applicazione riunisce i riferimenti a questi gruppi per costruire una struttura BLAS, che viene incorporata nella struttura di livello superiore della scena.

L'obiettivo è ridurre il costo di costruzione di grandi strutture di accelerazione quando cambiano l'animazione, la geometria generata o gli elementi che entrano ed escono da una scena. Microsoft osserva che, rendendo più efficienti queste costruzioni, può diventare praticabile tracciare i raggi sulla stessa geometria dettagliata usata per la rasterizzazione, invece di ricorrere a versioni semplificate. Questo potrebbe far corrispondere meglio le ombre e i riflessi tracciati a ciò che si vede sullo schermo.

Partitioned TLAS affronta un altro collo di bottiglia: l'aggiornamento della struttura che rappresenta l'intera scena. Invece di ricostruirla completamente quando sono cambiati solo alcuni oggetti, consente di organizzare le istanze in partizioni e conservare la struttura dei gruppi che non sono cambiati. In questo modo, il lavoro di aggiornamento può concentrarsi sulle aree modificate.

Le due funzioni possono essere usate separatamente o insieme. Microsoft aggiunge anche un'API unificata per costruire e aggiornare queste strutture dalla GPU, con input delle operazioni generabili nella memoria video. L'obiettivo è ridurre sia il lavoro di gestione della geometria sia le informazioni da elaborare nuovamente a ogni aggiornamento.

Il miglioramento dipende dal gioco e dall'hardware

Il risultato da 7,5 GB a 774 MB e il salto da 1,2 a 79 fps provengono dai test di Microsoft, non da una misurazione generale dei giochi commerciali. PC Gamer avverte che un ambiente di test specializzato non garantisce gli stessi guadagni in tutti i titoli.

C'è anche un costo che i team di sviluppo dovranno considerare: lavorare con geometria raggruppata utilizza più memoria temporanea scratch rispetto alla tecnologia tradizionale. Pertanto, il risparmio di memoria per il ray tracing non elimina tutti i requisiti di risorse né implica che qualsiasi implementazione migliori nella stessa misura.

Le funzioni non richiedono nuove capacità hardware oltre al supporto esistente per il ray tracing, ma ciò non significa che siano disponibili su tutte le GPU compatibili con DXR. La tabella di Microsoft indica il supporto per Radeon RX 9000, Intel Arc serie B e i processori Intel Core Ultra elencati nella tabella, oltre a tutte le GPU RTX di NVIDIA. Il supporto per Qualcomm è previsto per il 2027. Per alcune GPU di generazioni precedenti, Microsoft deve ancora stabilire se l'implementazione sia praticabile.

Il confronto con RTX Mega Geometry di NVIDIA aiuta a inquadrare la proposta: secondo PC Gamer, le tecniche di Microsoft sono simili, ma l'integrazione in DirectX offre una soluzione comune per l'hardware compatibile, invece di limitare la funzione all'API specifica di un produttore. Microsoft cita Gears of War: E-Day come primo esempio di geometria raggruppata tramite l'API proprietaria di NVIDIA; la standardizzazione in DirectX mira a facilitarne l'adozione nei futuri titoli compatibili.

È già disponibile un'anteprima, ma non c'è una data per i giocatori

Agility SDK 1.722-preview è disponibile per gli sviluppatori. Per provare queste funzioni sperimentali servono le intestazioni e il runtime di anteprima corrispondenti, un driver compatibile e la Modalità sviluppatore di Windows. Microsoft pubblica anche esempi e il supporto per PIX per lavorare con le nuove funzioni.

Il blog di DirectX invita a inviare commenti sul design durante questa fase, prima di un eventuale lancio commerciale. Microsoft non ha indicato una data per la disponibilità generale di queste funzioni nei giochi per PC. Per ora, il dato più sorprendente resta quello ottenuto nel test con la Radeon RX 9070; la portata effettiva dipenderà dai driver e da come gli studi integreranno la tecnologia.

Fonti: PC Gamer, DirectX Developer Blog, DirectX Developer Blog, GitHub