Microsoft tar med sig DirectStorage API till Windows 10 för att påskynda spelet

0 Shares

Spelkontroll

Microsoft vidtar åtgärder för att förbättra spelprestanda i Windows 10 genom att implementera en del av Velocity Architecture som används av Xbox Series X.

Specifikt tar Microsoft DirectStorage API till Windows 10 för att hjälpa till att övervinna NVMe-bandbreddsflaskhalsar. Med kompatibel hårdvara innebär förändringen inte bara att spel laddas snabbare utan också att grafik kan vara ännu mer detaljerad.

Se även:

Microsoft presenterade Xbox Velocity Architecture tidigare i år med löfte om att det kommer att ge “en ny era av kompromisslöst spel”. Men företaget vet att det inte bara är konsolägare som gillar spel, därav det senaste fokuset på Windows 10.

I ett inlägg på utvecklarbloggen förklarar Microsoft att moderna spel genererar ett mycket stort antal I / O-förfrågningar på grund av hur komponenter som texturer lagras i små bitar.

Tyvärr var nuvarande lagrings-API: er inte optimerade för detta stora antal IO-förfrågningar, vilket förhindrade dem från att skala upp till dessa högre NVMe-bandbredder och skapa flaskhalsar som begränsar vad spel kan göra. Även med supersnabb PC-maskinvara och en NVMe-enhet kommer spel som använder befintliga API: er inte att kunna mätta IO-pipelinen helt och lämna värdefull bandbredd på bordet.

Och det är just därför Microsoft tar med sig DirectStorage API till Windows 10. Microsoft förklarar att: “tidigare generationens spel hade en tillgångsströmningsbudget i storleksordningen 50MB / s, vilket även vid mindre 64k blockstorlekar (dvs. en texturbricka) uppgår till bara hundratals IO-förfrågningar per sekund. Med multi-gigabyte och en andra kapabel NVMe-enhet, för att dra nytta av hela bandbredden, exploderar detta snabbt till tiotusentals IO-förfrågningar per sekund. Tar vi serie X: s 2,4 GB / s-kompatibla enhet och samma 64k blockstorlekar som ett exempel, som uppgår till> 35 000 IO-förfrågningar per sekund för att mätta den “.

Företaget säger vidare:

Befintliga API: er kräver att applikationen hanterar och hanterar var och en av dessa förfrågningar en i taget först genom att skicka in begäran, vänta på att den ska slutföras och sedan hantera dess slutförande. Overheaden för varje begäran är inte särskilt stor och var inte en choke-punkt för äldre spel som körs på långsammare hårddiskar, men multiplicerat tiotusentals gånger per sekund kan IO-omkostnader snabbt bli för dyra och förhindra att spel kan dra nytta av de ökade NVMe-enheternas bandbredder.

Dessutom komprimeras många av dessa tillgångar. För att kunna användas av CPU eller GPU måste de först dekomprimeras. Ett spel kan dra så mycket data från skivan som det vill, men du behöver fortfarande ett effektivt sätt att dekomprimera och få det till GPU för rendering. Genom att använda DirectStorage kan dina spel utnyttja de bästa nuvarande och kommande dekompressionsteknikerna.

I en värld där ett spel vet att det behöver laddas och dekomprimeras tusentals block för nästa bild, resulterar den ena åt gången modellen i effektivitetsförlust vid olika punkter i datablockens resa. DirectStorage API är arkitekterat på ett sätt som tar hänsyn till allt detta och maximerar prestanda genom hela pipelinen från NVMe-enheten hela vägen till GPU.

Det gör detta på flera sätt: genom att minska NVMe-omkostnader per förfrågan, möjliggöra grupperade parallella IO-förfrågningar flera gånger i taget som effektivt kan matas till GPU: n och ge spel finare sädskontroll över när de får meddelande om IO-förfrågan slutförande istället för att behöva reagera på varje liten IO-slutförande.

På det här sättet får utvecklare ett extremt effektivt sätt att skicka / hantera många storleksordningar fler IO-förfrågningar än någonsin tidigare, vilket i slutändan minimerar tiden du väntar på att komma in i spelet och ger dig större, mer detaljerade virtuella världar som laddas in lika snabbt eftersom din spelkaraktär kan gå igenom den.

Även om allt detta är bra nyheter för spelare är det inte riktigt dags att bli upphetsad än. Microsoft arbetar för närvarande med sina partners för att avsluta utvecklingen av API: t och säger att spelutvecklare kommer att kunna prova en förhandsgranskning någon gång nästa år – så det kommer att dröja en stund innan spelare får skörda fördelarna.

Bildkredit: nexusby / Shutterstock

0 Shares