Microsoft maakt de sdk AgilitySDK 1.618 voor Advanced Shader Delivery beschikbaar voor ontwikkelaars. Deze DirectX 12-technologie maakt het in-game compileren van shaders overbodig door de shaders reeds gecompileerd af te leveren tijdens de installatie van een game.
De nieuwe technologie is vanaf 16 oktober eerst alleen beschikbaar voor bepaalde games voor de ROG Xbox Ally-handhelds die via de Xbox-app gedownload zijn, zo liet Microsoft eerder al weten. Met de release van versie 1.618 is de technologie via DirectX-api's echter ook beschikbaar voor derden, al duurt het waarschijnlijk nog lang voordat gamers hier iets van gaan merken.
Microsoft is voor Advanced Shader Delivery afhankelijk van vrijwel alle betrokkenen in het proces van gameontwikkeling en -distributie. Gameontwikkelaars en enginemakers moeten bijvoorbeeld tijdens het ontwikkelproces een 'state object database' opstellen op basis van een gestandaardiseerd format. Dit is nodig om de shaders vooraf te kunnen compileren zonder het voor alle mogelijke hardware te hoeven herhalen. Daarnaast werkte Microsoft samen met Intel, Nvidia, AMD en Qualcomm; deze bedrijven moeten de offline gecompileerde shaders via een plugin voor hun respectievelijke hardware aanleveren om dat proces makkelijker te maken.
:strip_exif()/i/2007756066.jpeg?f=imagenormal)
Uiteindelijk moeten de tools door leveranciers van installers worden geïmplementeerd in het installatieproces. Uitgevers met een eigen launcher of derden zoals Steam kunnen de api gebruiken om de benodigde vooraf gecompileerde shaders aan te leveren tijdens de installatie van een ondersteunde game.
Tech tegen hapering door in-game shaders compileren
Het idee achter de technologie is dat platforms toegang hebben tot een grote database van reeds gecompileerde shaders. Bij de installatie van een game worden de juiste shaders voor de gebruikte hardware aangeleverd, waardoor het systeem deze niet meer hoeft te compileren tijdens het draaien van de game. Het compileren van shaders is een cpu-taak die veel rekenkracht kost. Dit kan voor langere laadtijden, wachtschermen en in-game haperingen zorgen. Met de technologie wist Microsoft naar eigen zeggen de opstarttijd van Avowed met tot 85 procent te verlagen.
Shaders zijn gpu-programma's die bepalen hoe de gpu visuele aspecten van een game moet renderen. Er zijn shaders voor verschillende stappen in de renderpipeline. Een shader wordt gecompileerd om voor een specifieke game op de relevante hardware uitgevoerd te kunnen worden. De database van Microsoft moet dan ook talloze hardwareconfiguraties ondersteunen.
De technologie van Microsoft is overigens in principe niet nieuw. Consolegames maken al gebruik van vooraf gecompileerde shaders. Dat is op specifieke consoles vrij eenvoudig te realiseren, want de relevante hardware van bijvoorbeeld iedere Xbox Series X, PlayStation 5 Pro of Nintendo Switch 2 is identiek. Voor pc-games loopt de hardware enorm uiteen. De technologie van Microsoft moet vooraf gecompileerde shaders mogelijk maken voor uiteenlopende pc's.