Microsoft werkt aan sdk om 'shader stuttering' in Windows-games tegen te gaan

Microsoft komt met een functie die stuttering in pc-games moet voorkomen door shaders al tijdens de installatie te compileren. De functie komt eerst alleen naar de ROG Xbox Ally-handhelds, maar Microsoft maakt ook een sdk beschikbaar voor ontwikkelaars en digitale gamewinkels.

De advanced shader delivery-functie moet shaders vooraf compileren en cachen, zegt Microsoft. Dat moet lange laadtijden en stuttering voorkomen als spelers een game voor het eerst opstarten. Bij gameconsoles en op de Steam Deck worden de shaders meestal al vooraf gecompileerd. In Windows was dit voorheen echter niet mogelijk, omdat de shaders afhangen van de game, gpu en drivers van het specifieke apparaat van de gebruiker. Microsoft zegt daar echter een oplossing voor gevonden te hebben.

Met advanced shader delivery worden de shadercompilers van gpu-drivers geëxtraheerd. In combinatie met de gegevens van de game kunnen er daardoor in de cloud voorgecompileerde shaders worden gecreëerd. Bij de installatie van de game worden die aan de shadercache toegevoegd. Volgens Microsoft wordt de shadercache bij iedere driverupdate automatisch bijgewerkt.

In eerste instantie is dit alleen mogelijk in games die via de Xbox Store op de aankomende pc-gaminghandhelds ROG Xbox Ally en ROG Xbox Ally X worden geïnstalleerd, meldt Microsoft. Ook worden niet alle games ondersteund. Volgens Microsoft gaat het om 'grote titels', waaronder Avowed, maar een volledige gamelijst wordt niet genoemd.

Microsoft wil het naar eigen zeggen mogelijk maken dat gameontwikkelaars deze technologie rechtstreeks kunnen integreren in hun game-engines. Ook wil de fabrikant dat naast de Xbox Store ook andere digitale gamewinkels van deze functie gebruik kunnen maken. Microsoft wil in september een Agility-sdk beschikbaar maken met de benodigde tools en api's voor ontwikkelaars en online winkels.

ROG Xbox Ally X
ROG Xbox Ally X

Door Kevin Krikhaar

Redacteur

21-08-2025 • 14:17

19

Submitter: Xtuv

Reacties (19)

19
19
14
0
0
3
Wijzig sortering
Hoe legaal is dit? Ze halen stukken software uit de drivers en gebruiken die buiten de drivers om. Dat kon wel eens in strijd met de driver licentie zijn.
Al zou het in strijd zijn hebben zowel NVidia als AMD er echt geen belang bij hier een zaak over te starten. Waarom zouden ze?

Stel nou dat NVidia hier punt van zou maken en Microsoft het alleen voor AMD en Intel aan kan zetten. Dat zou beteken dat games gestart met een AMD of Intel GPU sneller starten, kortere laadtijden hebben en minder stotteren. Daarmee bevoordelen ze de concurrentie.

Maar sterker nog ik verwacht dat Microsoft dit plan al lang besproken heeft met AMD en NVidia. Wellicht hebben beide partijen wel aanpassingen gedaan in de drivers om dit te vergemakkelijken. Dit soort partijen hebben dit soort features al maanden, al dan niet jaren van te voren met elkaar besproken voordat wij het als nieuws op Tweakers lezen.

[Reactie gewijzigd door codeneos op 21 augustus 2025 15:30]

Sterker nog, dit is in samenspraak met tenminste AMD gedaan, want die zullen toch die compiler los moeten aanleveren zodat het in de cloud kan draaien. Dit staat ook in het originele artikel.
Ik denk dat dat wel meevalt. Zoals ik het lees gebruiken ze een compiler uit de driver om data uit de game om te zetten naar een shader - en die wordt dan opgeslagen. Maar dat gebruik van die compiler zelf, dat gebeurt op initiatief van de gebruiker - en die gebruiker heeft gewoon een gebruikslicentie op die driver (die hele riedel die je wegscrollt en dan op OK drukt).

Er staat ook niet bij dat die compiler in de cloud draait of gebruikt wordt - het is mogelijk dat ze dat lokaal doen en enkel de output in de cloud opslaan.

Dan staan AMD en Nvidia natuurlijk niet heel sterk, als ze hier problemen mee zouden hebben. Immers, je moet die compiler als gebruiker ook kunnen "gebruiken" want anders werkt je game niet. Je gebruikt dus nog steeds gewoon de code uit de driver, maar je gebruikt niet álle code uit de driver. Maar ik kan me niet voorstellen dat dat wettelijk gezien een probleem is, ik ken maar weinig mensen die 100% alle mogelijkheden van hun software benutten.
We have worked with our key hardware partners to separate out the shader compiler from the graphics driver

De software is gewoon beschikbaar gesteld.
Dus eigenlijk gewoon wat Steam op Linux al doet.
Alleen voor Steam Deck, wat maar één GPU is. Dit is veel complexer omdat het dus met alle GPU's moet werken.
Steam in een desktop installatie met AMD of NVIDIA GPU doet dit ook. Voordat de game launched worden de shaders gecompileerd. Dit is niet specifiek voorbehouden aan de Steam OS, Deck of AMD's iGPU.
Je kan (iig op desktop) de compilatie ook skippen trouwens, met als risico dat de game aanvankelijk iets meer stottert.
Las het idd in het artikel, maar volgens mij werkt dat ook gewoon op m'n eigen rig. Zie altijd fossilize processen van Steam als een game voor het eerst opstart en bij updates van Mesa. Is ook een setting voor bij Downloads "Enable Shader-Pre-caching".

[Reactie gewijzigd door danoam op 21 augustus 2025 17:52]

Dan neem ik aan dat met de sdk die compilatie vooraf gewoon lokaal plaats kan vinden? Of is dit een manier om alles van de microsoft cloud afhankelijk te maken :Y)
Dan neem ik aan dat met de sdk die compilatie vooraf gewoon lokaal plaats kan vinden?
Denk het niet want dat is nog steeds bij het opstarten van de game, en dat is nou net wat ze claimen te omzeilen en willen versnellen door het 'vooraf' te doen.
Of is dit een manier om alles van de microsoft cloud afhankelijk te maken
Dat is een mogelijk resultaat maar daarmee niet perse het doel natuurlijk.

PS @Kevinkrikhaar wat is 'vooraf' in de inleiding? Dat kan echt op alles slaan...

[Reactie gewijzigd door watercoolertje op 21 augustus 2025 14:53]

Hulp uit onverwachte hoek, ik was onder de indruk dat dit door UE of game developers opgelost zou moeten worden. Kom maar op hiermee (y)
Dat zou nog steeds het beste zijn. Id laat met hun engine en games zien dat je prima games kan maken met een kleine set aan shaders ipv voor iedere poep en scheet een nieuwe shader te introduceren.

Nu volgt MS het voorbeeld van Valve (met Steam OS) door automatisch precompiled shaders te laden. Maar dat is nog steeds symptoombestrijding. Nu is dit voor Valve makkelijker omdat ze minder GPUs ondersteunen en compiled shaders gekoppeld zijn aan GPU+driver versie. Dat is waarschijnlijk ook één van de redenen waarom de uitrol van Steam OS naar andere hardware zo langzaam gaat.

[Reactie gewijzigd door Caayn op 21 augustus 2025 15:37]

Juist andersom. Veel games blinken de afgelopen jaren uit in belabberde optimalisatie, welke veelal door dingen als DLSS worden "opgelost". Dus daar heb ik niet zo'n hoge pet van op. Zo snel mogelijk produceren is bij veel studios/uitgevers klaarblijkelijk veel belangrijker dan kwaliteit. Als je optimalisaties die generiek toepasbaar zijn in het OS beschikbaar maakt is dat verreweg de beste optie. Zo hoeft een ontwikkelaar niet elke keer het wiel opnieuw uit te vinden of zit het achter een patent vast. Beetje wat Microsoft met DirectX voor elkaar gekregen heeft. Verre van perfect maar het heeft wel een hoop standaardisatie en onnodig dubbel werk voorkomen.

Ik ga er vanuit dat Microsoft achter de schermen ook zeker wel samen werkt met o.a. Epic. Dit soort technieken zijn niet iets wat je even uit je mouw schudt. Ook is voor een zachte landing compatibiliteit met de grote spelers uiteraard ook wel zo verstandig. In tegenstelling tot de tijd dat DX uitkwam zijn er nu wel genoeg volwassen alternatieven.
Eindelijk hoopt dat dit betekend dat MS wat meer voor PC Gaming in windows gaat doen. Want al jaren doen ze nauwelijks wat behalve dat ze via xbox game pass games op pc releasen.

Laatste paar windows 11 releasen hadden issues met zeer slechte game performance tegenover windows 10.
Laatste paar windows 11 releasen hadden issues met zeer slechte game performance tegenover windows 10.
De laatste? De eerste (paar) bedoel je misschien?
Tja, het blijft pleisters plakken. Zeker nu indie games ook steeds vaker DirectX12 of Vulkan gebruiken zijn er steeds meer ontwikkelaars die de kennis en tijd niet hebben om zich hiermee bezig te houden. En zelfs al willen ze het - het is eigenlijk teveel werk voor kleine teams om voor iedere update een volledige lijst PSOs te verzamelen.
Dit is iets dat veel beter geautomatiseerd moet worden.
Levert dit dan zo een grote winst op ten opzichte van de shaders lokaal te precompilen en te cachen op de schijf? Dat kan immers gewoon met DX12, Vulkan of OpenGL 4, maar vereist natuurlijk wel dat de engine dit implementeert (maar dat geldt ook voor deze nieuwe oplossing).

Normaal is dit updaten van de shadercache toch alleen nodig na het wijzigen van de GPU of het updaten van de drivers (zoals ook in het artikel staat)? Nu heb ik al even geen moderne game meer aangeraakt, maar ik kan me niet inbeelden dat het lokaal precompilen van de shaders zo lang duurt dat je dat wilt vervangen door een cloud oplossing. Dat voegt toch alleen maar extra afhankelijkheden toe voor een paar minuten (ofzo) tijdswinst op een maand? Of duurt dit tegenwoordig een half uur omwille van de grote hoeveelheid shaders in een moderne game?
dit zou een zeer mooie toevoeging zijn


Om te kunnen reageren moet je ingelogd zijn