Al Game Developers Conference 2025, Microsoft ha svelato un aggiornamento significativo per la sua piattaforma grafica DirectX. Il componente DXR (DirectX Raytracing) 1.2 introduce la tecnologia Shader Execution Reordering (SER), una soluzione innovativa per ottimizzare le operazioni di ray tracing. Questa tecnica è fondamentale per generare illuminazione realistica, riflessi accurati e ombre dettagliate nei videogiochi moderni.
Tradizionalmente, il ray tracing gestisce i calcoli in modo apparentemente casuale. Alcuni raggi di luce possono intersecare rapidamente gli oggetti, mentre altri richiedono percorsi più lunghi e calcoli complessi. Questa eterogeneità impone al processore grafico (GPU) di gestire compiti disparati in sequenza, riducendo l'efficienza dell'elaborazione parallela, un punto di forza delle moderne schede video. SER interviene per risolvere questo problema: consente agli sviluppatori di specificare direttamente nel codice shader quali calcoli sono simili e quindi adatti ad essere raggruppati. La scheda video, a sua volta, riorganizza l'esecuzione dei thread, incrementando la performance complessiva.
Precedentemente, DXR demandava al driver il compito di bilanciare il carico di lavoro. Ora, con SER, lo sviluppatore ha un controllo maggiore su questo processo. Nel linguaggio shader HLSL sono stati introdotti elementi che permettono allo sviluppatore di richiedere un nuovo ordine di elaborazione dei thread. Il supporto per SER è diventato un componente obbligatorio dello standard Shader Model 6.9. Questo significa che i driver devono gestire correttamente questo codice, anche se l'efficacia delle ottimizzazioni può variare in base all'hardware.
L'impatto pratico di SER è stato dimostrato con il gioco Alan Wake 2. In combinazione con la tecnologia Opacity Micromaps (OMM), SER ha contribuito ad aumentare le prestazioni del ray tracing di circa un terzo. Per i giocatori, questo si traduce in un potenziale aumento del frame rate, mentre per gli sviluppatori si apre la possibilità di aggiungere ulteriori effetti grafici.
L'algoritmo tradizionale di ray tracing prevede due fasi principali: la tracciatura dei raggi e la raccolta di informazioni sulle intersezioni, seguita dall'elaborazione di queste informazioni tramite shader. Con SER, lo sviluppatore può eseguire la prima fase su tutta la scena, raccogliere i risultati simili, raggrupparli e solo successivamente avviare l'elaborazione in blocco. Questo ottimizza l'utilizzo delle risorse del sistema. In un test su una scheda video Nvidia GeForce RTX 4090, la tecnologia SER ha prodotto un aumento di frame rate di circa il 40%, mentre su alcune schede video Intel Arc serie B l'incremento ha raggiunto il 90%.
L'introduzione di Shader Execution Reordering rappresenta un passo avanti significativo nell'ottimizzazione del ray tracing, offrendo agli sviluppatori strumenti più potenti per sfruttare al meglio le capacità delle moderne schede grafiche. Questa tecnologia promette di migliorare l'esperienza di gioco, consentendo una grafica più dettagliata e prestazioni più fluide.

