[ad_1]
La divisione di ricerca di Microsoft ha lavorato duramente per cercare di rendere il ray tracing una funzionalità più accessibile per i giochi del futuro. Un nuovo brevetto di uno degli architetti senior del team descrive come il carico di memoria e cache per le gerarchie di volumi delimitati (BVH), strutture utilizzate per accelerare il ray tracing, può essere ridotto utilizzando un approccio simile all’applicazione Texture Level of Detail (LOD) .
Mentre le console Xbox di Microsoft sarebbero le principali beneficiarie di questa tecnica, anche le GPU deboli di ray tracing tradizionalmente di AMD e le schede grafiche che non sono dotate di una tonnellata di VRAM sono potenziali vincitori.
Come per tutti i brevetti di questo tipo, i dettagli al suo interno sono complessi ma anche ampi in termini di dove potrebbero essere utilizzati. Il suo autore, Mark Grossman, è un architetto senior della divisione di ricerca di Microsoft, specializzato nello sviluppo di chip, e ha una lunga e illustre carriera nel campo delle GPU (iniziando con Silicon Graphics, prima di passare ad ATI Technologies, poi AMD e infine Microsoft).
L’anno scorso ha ottenuto l’approvazione di un brevetto per ridurre l’impronta di memoria dei meshlet, piccoli gruppi di poligoni utilizzati negli shader mesh. Il suo ultimo brevetto (tramite Tom’s Hardware) segue un formato quasi identico. Per accelerare il processo di ray tracing, i giochi utilizzano strutture BVH, che sono un po’ come un diagramma di flusso dei volumi occupati dagli oggetti in un mondo 3D. I BVH sono suddivisi in una grande mappa complessiva, chiamata struttura di accelerazione di livello superiore (TLAS) e più strutture di livello inferiore più piccole (BLAS).
In Cyberpunk 2077, la dimensione media del TLAS è compresa tra 15 e 20 MB, ma il BLAS totale è molte volte più grande, arrivando a centinaia o migliaia di megabyte. Se la tua scheda grafica ha 16 GB o più di VRAM, non è un vero problema, ma se hai 8 GB o meno, non è difficile capire perché potrebbe diventare un problema. E questo è particolarmente vero per le console con pool di memoria condivisi.
La tecnica di Microsoft evita di utilizzare l’intero BVH in una volta sola. Invece, vengono utilizzate piccole porzioni alla volta e i dettagli di questo utilizzo e la parte del BVH in questione (chiamata nodo) vengono archiviati in due elenchi nella memoria della GPU. Con ogni fotogramma successivo, l’algoritmo di ray tracing aggiorna questi elenchi, assicurando che solo i nodi necessari per essere utilizzati nella scena (il resto semplicemente non è visibile o non vale la pena utilizzarlo) siano archiviati nella VRAM.
Da notare che questo sistema non solo riduce il carico sulla memoria della scheda grafica e sulla cache della GPU, ma riduce anche la quantità di controlli di ray tracing da eseguire. Invece di dover attraversare costantemente l’intera struttura BVH per vedere quali raggi interagiscono con quali oggetti, è necessario controllare solo quelli negli elenchi (chiamati mappa di residenza e registrazione).
Questo è importante per i processori grafici di AMD perché, a differenza delle GPU di Nvidia, non dispongono di hardware dedicato per accelerare il processo di attraversamento. Invece, è tutto gestito tramite shader di calcolo. Entrambi i fornitori dispongono di unità specializzate per testare le intersezioni ray-box e ray-triangle, quindi entrambi controllano queste cose molto rapidamente, ma RDNA 2 e le GPU più recenti trascorrono un bel po’ di tempo lavorando attraverso il BVH.
Quindi, sebbene tutto questo lavoro vada a vantaggio di Xbox, sarebbe anche un vantaggio per qualsiasi PC da gioco dotato di una scheda grafica Radeon, alimentata da una GPU RDNA 2 o RDNA 3.
Sì, questo è tutto molto complicato, e quasi certamente lo sto semplificando eccessivamente, ma l’unica cosa che i migliori PC e console da gioco hanno in abbondanza è la potenza di calcolo. Quindi ha senso sfruttare qualcosa che, pur comportando molti calcoli extra ma basilari, riduce i carichi di memoria e ray tracing.
Sebbene il brevetto di Microsoft sia principalmente mirato a migliorare le prestazioni del ray tracing sulle sue console Xbox Series X, la tecnica potrebbe essere implementata su qualsiasi piattaforma, poiché non è specifica per alcun hardware particolare. Quindi, se disponi di una scheda grafica tradizionale, come una GeForce RTX 4060 o Radeon RX 7600, allora potresti avere la possibilità di goderti il ray tracing in un gioco in un futuro non troppo lontano.
[ad_2]
Source link