Varem polnud mängud liiga keerulised. Mängitavad tasemed olid üsna väikesed, tegelasi vähe ja tekstuurid lihtsad. Aastate jooksul on mängud plahvatuslikult paranenud. Mängud võivad sageli tunduda fotorealistlikud, alates massilistest avatud maailmadest kuni väga üksikasjalike tegelasteni.

Kuid kogu see uuendus on kulukas.

Kaasaegsed mängud vajavad nende kaunite tegelaste ja keskkondade renderdamiseks kümneid gigabaiti andmeid. Kuid mõned tööriistad, mida mängude arendajad kasutavad, ei olnud ehitatud nii tohutu hulga andmete töötlemiseks, tekitades toimivuse kitsaskoha.

Siin tuleb sisse Microsoft DirectStorage.

Miks me vajame Microsoft DirectStorage'i?

Enne DirectStorage'i arutamist vaatame, kuidas praegused andmete voogesituse meetodid toimivad.

Mängu käivitamisel vajab see ekraanil esitamiseks selliseid andmeid nagu tekstuurid, tähemudelid ja heli. Need andmed salvestatakse mäluseadmesse nagu kõvaketas. Mäng taotleb neid andmeid tarkvaratööriistade kaudu, mida nimetatakse rakendusprogrammeerimisliidesteks (API).

Pärast seda, kui mäng on andmeid API kaudu taotlenud, tõmbab ta andmed mäluseadmest ja paigutab need süsteemi RAM-i enne renderdamiseks GPU-le edastamist.

Mängu allalaadimisel tihendatakse kõik andmed nii palju salvestusruumi säästmiseks kui võimalik. Kuid GPU-d ei saa tihendatud andmeid kasutada. Seega tuleb see lahti pakkida.

Nii et kui andmed on RAM-is, lähevad need dekompressiooniks keskseadmesse.

Pärast dekompressiooni kopeeritakse mängu taotletud andmed GPU VRAM-i.

Lõpuks renderdab GPU need andmed kauniks graafikaks, mida näeme ekraanil.

Nüüd on sellel voogesitusmeetodil kaks suurt puudust.

Esiteks võtab andmete dekompressioon palju aega. See mitte ainult ei suurenda mängu laadimisaega, vaid muudab ka protsessori muude ülesannete jaoks kättesaamatuks. Kuna protsessor on enamasti dekompressiooniga seotud, ei suuda see GPU nõudmistega sammu pidada, mille tulemuseks on madalam kaadrisagedus.

Teiseks ei kasuta olemasolevad salvestusprogrammi API-d kaasaegset salvestusriistvara täielikku eelist. Näiteks olid tol ajal salvestusseadmed aeglased mehaanilised kõvakettad, millel puudus kiirus ja ribalaius gigabaitide andmete sekundis saatmiseks. Niisiis olid API-d kirjutatud ainult piiratud hulga andmete voogesitamiseks.

Arendajad, kes kasutavad neid vanu API-sid täna, peavad sellest piiratud andmete voogesituse eelarvest mööda hiilima, kasutades selliseid meetodeid nagu stseenide keerukuse vähendamine, et minimeerida vajadust paljude varad, ainult tekstuuride renderdamine ja mängijale nähtav keskkond ning pikenevad laadimisajad, et veenduda, et mängul on enne kõigi varade laadimiseks piisavalt aega alustades.

Need meetodid toimivad teoreetiliselt paremini kui praktikas. Sest isegi turu kõige kiiremate mäluseadmete korral on mängudel endiselt pikad laadimisajad, tekstuuri hüpikud ja kitsad tõmbedistantsid.

DirectStorage'i eesmärk on aidata arendajatel neid probleeme lahendada parema voogedastusprotsessi abil.

Seotud: Parimad GPU kiirendustööriistad mängude täiustatud jõudluse saavutamiseks

Kuidas Microsoft DirectStorage töötab?

Microsoft DirectStorage on salvestus-API-de kogum, mille eesmärk on parandada kõik praeguste API-dega valesti.

Kui arendaja kutsub mäluseadmelt andmete taotlemiseks DirectStorage'i API-sid, on protsess kahe peamise erinevusega peaaegu sama.

Esiteks, pärast andmete RAM-i kopeerimist pole protsessori dekompressioonirutiini. Andmeid ei kopeerita protsessorisse ega dekompresseerita. Erinevalt vanadest API-dest saadetakse tihendatud andmed otse GPU-le.

Teiseks kasutavad API-d ülikiiret NVMe SSD riistvara kõiki eeliseid. DirectStorage vajab töötamiseks NVMe SSD-d, kuna NVMe SSD-d on eksponentsiaalselt suurema ribalaiusega kui mehaanilised kõvakettad. DirectStorage kasutab nende SSD-de kogu ribalaiust, mis on suurusjärgus GB / s, korraga paljude andmete lugemiseks. See on erinevalt vanematest API-dest, mis loevad andmeid aeglaselt ja MB / s järjekorras.

Niisiis, GPU saab korraga palju tihendatud andmeid ja enne renderdamist ei pea ootama rohkemate andmete saabumist. Ainus asi, mida tuleb teha, on andmete dekompresseerimine GPU renderdamiseks.

DirectStorage'i paketid on tipptasemel GPU dekompressioonitehnikates. GPU dekompresseerib andmeid palju kiiremini kui protsessorid. Samuti suudavad nad pikka aega säilitada seda kiiret dekompressiooni, mida protsessor ei suuda. See teeb GPU-st peamise kandidaadi andmete dekompressiooni tulevikuks.

Dekompressiooni GPU-le laadimine vabastab protsessori ka muude ülesannete täitmiseks, näiteks heli töötlemiseks ja kuvatavate kaadrite ettevalmistamiseks.

Kuidas DirectStorage mänge parandab?

Kuna DirectStorage pakub teie GPU-le uskumatult kiiresti palju andmeid, võib see teie mängukogemuse põhjalikult muuta.

Esiteks, kui arendajad ehitavad oma mänge DirectStorage'iga, on mängudel peaaegu kohene laadimisaeg. Seega ei pea te oma lemmikmängu hüppamiseks ootama pikka laadimisekraani.

Teiseks, kuna DirectStorage vabastab protsessori muude ülesannete täitmiseks, suurendab see jõudlust. Teisisõnu, saate paremad kaadrisagedused, isegi kui te pole oma riistvara täiendanud.

Lõpuks on DirectStorage'i abil mängud laiema ja keerukama maailmaga, minimaalse tekstuuriga hüpikakendega. See võimaldab arendajatel ehitada järgmise põlvkonna mänge ilma oma loomingulist visiooni tagasi hoidmata andmete voogesituse tõttu.

DirectStorage võib muuta mängimist lõplikult, kui arendajad seda lubavad

Microsoft on DirectStorage'i kõvasti surunud. Ja õigustatult. Andmete voogesituse vanad meetodid on lämbumispunkt, mis on mänge tagasi hoidnud.

Kui DirectStorage õnnestub saada valdkonna standardiks, liiguvad mängud uude keelekümbluse ajastusse.

Kui Microsoft suudab DirectStorage'i täiustada ja veenda arendajaid, et tasub oma aega sellesse investeerida, võivad mängijad lõpuks vabaneda häiretest, nagu laadimisajad ja tekstuuri hüpikaknad.

Niisiis, loodame, et näeme päeva, mil pole võltsitud liftisõite, lõputuid treppe ega kiiret reisi, mis võtab miljonit aastat.

E-post
Suur kaadrisagedus vs. Parem eraldusvõime: mis on mängude jaoks olulisem?

Kui te ei saa endale lubada tippklassi mängude seadistamist, peate mängimisel mõistma kompromisse suure kaadrisageduse ja kõrge eraldusvõime vahel.

Loe edasi

Seotud teemad
  • Windows
  • Mängimine
  • Microsoft
  • Mängu arendamine
  • PC-mängimine
Autori kohta
Fawad Murtaza (13 artiklit on avaldatud)

Fawad on täiskohaga vabakutseline kirjanik. Ta armastab tehnikat ja toitu. Kui ta ei söö ega kirjuta Windowsist, mängib ta kas videomänge või kirjutab oma veidrale ajaveebile Techsava.

Veel Fawad Murtazalt

Telli meie uudiskiri

Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!

Veel üks samm !!!

Palun kinnitage oma e-posti aadress e-kirjas, mille teile just saatsime.

.