Tidigare var spel inte alltför komplexa. De spelbara nivåerna var ganska små, karaktärerna var få och strukturerna var enkla. Genom åren har spel förbättrats exponentiellt. Från massiva öppna världar till mycket detaljerade karaktärer kan spel ofta se fotorealistiska ut.
Men all denna innovation kostar.
Moderna spel behöver tiotals gigabyte data för att återge dessa vackra karaktärer och miljöer. Men vissa verktyg som spelutvecklare använder var inte byggda för att hantera en sådan enorm mängd data, vilket skapar en prestandaflaskhals.
Det är här Microsoft DirectStorage kommer in.
Varför behöver vi Microsoft DirectStorage?
Innan vi diskuterar DirectStorage, låt oss se hur de nuvarande metoderna för dataströmning fungerar.
När du startar ett spel behöver det data som texturer, karaktärsmodeller och ljud för att presenteras för dig på skärmen. Dessa data lagras på en lagringsenhet som en hårddisk. Spelet begär dessa data via mjukvaruverktyg som kallas Application Programming Interfaces (API).
Efter att spelet har begärt data via ett API, hämtar det data från lagringsenheten och placerar det i systemets RAM innan det skickas vidare till GPU:n för rendering.
När du laddar ner ett spel komprimeras all data för att spara så mycket lagring som möjligt. Men GPU:er kan inte använda komprimerad data. Därför måste den dekomprimeras.
Så när data är i RAM-minnet, går den till CPU:n för dekomprimering.
Efter dekompression kopieras data som spelet begärde till GPU:ns VRAM.
Slutligen återger GPU:n denna data till vacker grafik som vi ser på skärmen.
Nu har denna streamingmetod två stora nackdelar.
För det första tar datadekomprimering mycket tid. Detta resulterar inte bara i ökade laddningstider för spel, utan detta gör också att CPU:n inte är tillgänglig för andra uppgifter. Och eftersom CPU:n är ikapp med dekompression för det mesta, kan den inte hålla jämna steg med kraven från GPU:n, vilket resulterar i lägre bildhastigheter.
För det andra drar inte befintliga lagrings-API:er full nytta av modern lagringshårdvara. Till exempel var lagringsenheter förr i tiden långsamma mekaniska hårddiskar som inte hade hastigheten och bandbredden för att skicka gigabyte data per sekund. Så, API:erna skrevs för att bara strömma en begränsad mängd data.
Utvecklare som använder dessa gamla API:er idag måste kringgå denna begränsade dataströmningsbudget med metoder som att minska scenens komplexitet för att minimera behovet av många tillgångar, bara rendera texturer och miljön som spelaren kan se och öka laddningstiderna för att se till att de spelet har tillräckligt med tid för att ladda alla tillgångar innan det börjar.
Dessa metoder fungerar bättre i teorin än i praktiken. För även med de snabbaste lagringsenheterna på marknaden har spelen fortfarande långa laddningstider, texturpop-in och trånga dragavstånd.
DirectStorage syftar till att hjälpa utvecklare att lösa dessa problem genom en bättre dataströmningsprocess.
Hur fungerar Microsoft DirectStorage?
Microsoft DirectStorage är en uppsättning lagrings-API:er som syftar till att fixa allt fel med de nuvarande API:erna.
När en utvecklare anropar DirectStorage API:er för att begära data från lagringsenheten är processen nästan densamma med två stora skillnader.
För det första, efter att ha kopierat data till RAM-minnet, finns det ingen CPU-dekompressionsrutin. Data kopieras inte till CPU och dekomprimeras. Till skillnad från gamla API:er skickas den komprimerade datan direkt till GPU:n.
För det andra drar API:erna full nytta av den supersnabba NVMe SSD-hårdvaran. DirectStorage behöver en NVMe SSD för att fungera, eftersom NVMe SSD:er har exponentiellt högre bandbredd än mekaniska hårddiskar. DirectStorage använder hela bandbredden för dessa SSD:er, som är i storleksordningen GB/s, för att läsa mycket data på en gång. Detta är till skillnad från äldre API:er som läser data långsamt och i storleksordningen MB/s.
Så GPU:n tar emot mycket komprimerad data på en gång, och den behöver inte vänta på att mer data kommer fram innan den renderas. Det enda som återstår att göra är att dekomprimera data för GPU:n att rendera.
DirectStorage innehåller toppmoderna GPU-dekompressionstekniker. GPU:er dekomprimerar data i en mycket högre hastighet än CPU:er. De kan också upprätthålla denna höghastighetsdekompression under lång tid, vilket en CPU inte kan. Det är detta som gör en GPU till en främsta kandidat för framtidens datadekomprimering.
Avlastning av dekompression till GPU:n frigör också CPU:n för att hantera andra uppgifter som att bearbeta ljud och förbereda bildrutor som ska visas.
Hur förbättrar DirectStorage spel?
Eftersom DirectStorage förser din GPU med mycket data otroligt snabbt, kan det revolutionera din spelupplevelse.
För det första, om utvecklarna bygger sina spel med DirectStorage, kommer spel att ha nästan omedelbara laddningstider. Så du behöver inte vänta med att sitta igenom en lång laddningsskärm för att hoppa in i ditt favoritspel.
För det andra, eftersom DirectStorage frigör processorn för att hantera andra uppgifter, ökar det prestandan. Du kommer med andra ord att få bättre bildhastigheter även om du inte har uppgraderat din hårdvara.
Slutligen, med DirectStorage kommer spel att ha mer expansiva och komplexa världar med minimal textur-pop-in. Detta kommer att tillåta utvecklarna att bygga nästa generations spel utan att hålla tillbaka sin kreativa vision på grund av dataströmningsproblem.
DirectStorage kan förändra spelandet för gott om utvecklarna tillåter det
Microsoft har pressat DirectStorage hårt. Och det med rätta. De gamla metoderna för dataströmning är en kvävningspunkt som har hållit tillbaka spel.
Om DirectStorage lyckas bli en branschstandard kommer spel att gå in i en ny era av fördjupning.
Om Microsoft kan fullända DirectStorage och övertyga utvecklarna om att det är värt att investera sin tid i det, kan spelare äntligen free av störningar som laddningstider och textur pop-in.
Så låt oss hoppas att vi får se dagen då det inte finns några falska hissturer, inga oändliga trappor och ingen snabb resa som tar en miljon år.
Om författaren
Fawad Murtaza (84 artiklar publicerade)
Fawad är en frilansskribent på heltid. Han älskar teknik och mat. När han inte äter eller skriver om Windows spelar han antingen tv-spel eller dagdrömmer om att resa.
Mer från Fawad Murtaza
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
