Az Epic Games az Unreal Engine 5.8-ba beépítette az Advanced Shader Delivery (ASD) támogatását. Ez a Microsoft technológiája, amellyel a játékok shadereit nem a játékos gépe fordítja le az első indításkor vagy játék közben, hanem előre lefordítva, a játékkal együtt kapja meg. Ez kevesebb hosszú shaderfordítós várakozást és kevesebb akadást jelenthet – írja a TechSpot és az Epic fejlesztői dokumentációja.
A fejlesztő a kész, „lefőzött” (cooked) Windows-buildből egy ASD Tool nevű eszközzel létrehoz egy állapotobjektum-adatbázist (State Object Database, SODB), amely leírja, milyen shaderkombinációkat használ a játék. Ebből a játékboltok a különböző videokártyákhoz és driverekhez előre lefordított shadereket készíthetnek, és ezeket egy távoli gyorsítótárból (PSDB) töltheti le a játékos a játékkal együtt.
A Microsoft Store-ba szánt játékoknál ez már most működik, a Steam és az Epic Games Store támogatása 2027 elejére várható. Az ASD-ről korábban már írtunk, amikor kiderült, hogy minden GeForce RTX kártyára megérkezik.
Az Epic dokumentációja szerint a technológiának több korlátja is van:
- Csak DirectX 12 és Shader Model 6 alatt működik.
- A sugárkövetéshez (ray tracing) használt pipeline-állapotokat nem kezeli, ezeket továbbra is helyben kell lefordítani.
- Ha egy frissítés megváltoztatja a játék shadereit, új adatbázist kell készíteni.
- Az Epic azt javasolja, hogy a fejlesztők a PSO-előfordítást (precaching) is hagyják bekapcsolva, mert az ASD önmagában nem teljes megoldás az akadásokra.
Kapcsolódó: Clustered Geometry és Partitioned TLAS: így gyorsul a sugárkövetés a DirectX új funkcióival.