Epic Games ha presentato l'integrazione di DirectX 12 Advanced Shader Delivery (ASD) in Unreal Engine 5.8, compiendo un passo importante verso la riduzione degli scatti provocati dalla compilazione degli shader su PC. La tecnologia sviluppata da Microsoft permette di spostare una parte di questo lavoro fuori dal computer del giocatore, preparando in anticipo gli shader per specifiche architetture GPU e versioni dei driver.
La documentazione introduce un apposito strumento, chiamato ASD Tool, che consente agli sviluppatori di generare un State Object Database (SODB) a partire da una build Windows del gioco già elaborata per la distribuzione e basata su Direct3D 12. Il database può quindi essere inviato agli store compatibili, che si occupano di preparare gli shader per l'hardware supportato. I dati compilati vengono distribuiti insieme al gioco, evitando che il sistema debba eseguire tutto il lavoro per la prima volta durante una sessione.
Come funziona Advanced Shader Delivery
Il problema riguarda soprattutto la compilazione degli shader e dei Pipeline State Object (PSO), strutture che descrivono le configurazioni utilizzate dalla GPU per elaborare la grafica. Nei giochi moderni, materiali, effetti, impostazioni grafiche e tecniche di rendering possono generare un numero molto elevato di combinazioni. Con Unreal Engine 5 la questione è particolarmente rilevante: raccogliere e compilare preventivamente ogni possibile combinazione può risultare difficile. Quando una configurazione non è stata preparata in anticipo, il gioco può essere costretto a compilarla durante l'esecuzione. Il risultato sono picchi nei tempi di elaborazione dei fotogrammi, con scatti percepibili anche su sistemi dotati di hardware potente.
L'ASD Tool di Epic Games semplifica la preparazione dei dati necessari. Lo strumento raccoglie gli shader di calcolo dagli archivi compilati e i PSO grafici e di calcolo dalle cache delle pipeline incluse nel gioco, per poi generare il database SODB. Da questo vengono ricavati database di shader precompilati specifici per hardware, denominati Precompiled Shader Database (PSDB), destinati alla distribuzione attraverso gli store compatibili.
Microsoft aveva presentato Advanced Shader Delivery nel 2025 insieme ai dispositivi portatili ROG Xbox Ally. In seguito, il supporto è stato esteso a PC Windows 11 dotati di GPU compatibili NVIDIA, AMD, Intel e Qualcomm. La tecnologia è già supportata da Microsoft Store e dall'app Xbox per PC, mentre l'integrazione con Steam ed Epic Games Store è prevista in una fase successiva.
L'integrazione non elimina la necessità degli strumenti di precaching già presenti in Unreal Engine 5. Epic raccomanda infatti di mantenerli attivi: i PSO grafici devono continuare a essere raccolti attraverso le cache delle pipeline e le combinazioni mancanti possono ancora richiedere la compilazione durante il gioco. Al momento, inoltre, i PSO per il ray tracing non sono supportati. Anche i sistemi con hardware non compatibile o driver troppo vecchi potrebbero non beneficiare della tecnologia.
La documentazione di Epic indica l'inizio del 2027 come obiettivo per il supporto di Advanced Shader Delivery su Epic Games Store. L'integrazione in Unreal Engine 5.8 rappresenta quindi un passo concreto verso una distribuzione più ampia, ma non garantisce che tutti gli scatti legati agli shader scompaiano.
Il risultato dipenderà anche da quanto gli sviluppatori adotteranno il sistema e dalla capacità di preparare le combinazioni necessarie prima della distribuzione. Per i giochi PC basati su Unreal Engine 5, una maggiore diffusione della compilazione preventiva potrebbe comunque migliorare la regolarità dei tempi di rendering e ridurre uno dei difetti più discussi delle produzioni recenti.