Részletezte a PC-s DirectStorage API-t a Microsoft

A vállalat kifejtette a miniális hardverigényeket is, bár itt azért számítani fog, hogy mely architektúrákhoz készül konkrét implementáció.

Az előző év őszén jelentette be hivatalosan a PC-s DirectStorage API-t a Microsoft, amelyről most bővebb felvilágosítást is adtak részletezve a rendszer minimális követelményeit. A fejlesztés célját és lényegét az előbb linkelt hírben már ecseteltük, és a könnyebb érthetőség érdekében a redmondi óriáscég felvázolt egy nagyon szemléletes ábrát.


[+]

Ahhoz, hogy szintet lépjen a PC okosabban és gyorsabban kell betölteni az adatokat. Általánosan belegondolva ezzel egyáltalán nem mondanak újat, de a Microsoft nem elméletről beszél, hanem van is erre a két tényezőre gyakorlati megoldásuk. A probléma csupán annyi, hogy ezeket egységesen csak az Xbox Series S és X gépek kínálják fel. A fenti képen jól látszik a cél, a GPU memóriájába legyen csak az benne, amire szükség van, és legyen olyan gyorsan betöltve, amilyen gyorsan csak lehetséges. Előbbi a Microsoft konzoljain elérhető a sampler feedback streaming (SFS) funkcióval, míg utóbbi a DirectStorage API-val.

Hirdetés

Rögtön megjegyzendő, hogy a PC a DirectX 12 Ultimate megjelenésével már megkapta a sampler feedbacket, ami hasonló funkcionalitást kínál az Xbox Series S és X lehetőségeihez, de ez a DirectStorage API nélkül csak félkarú óriás.


[+]

Szemléltetve a várható változásokat, a Microsoft felvázolta az aktuális rendszert, amely egyszerűen értelmezhető: a GPU számára szánt, erősen tömörített adatok (például textúrák) a rendszermemóriába kerülnek, amit a CPU kitömörít egy GPU számára emészthető formátumba, és így már át is másolható a GPU memóriájába.


[+]

Ezen az új rendszer két módon változtatna. Egyrészt az adatok rendszermemóriába való beolvasása hatékonyabb formában történne, amit az új I/O API biztosítanak, majd innen rögtön másolható az adat a GPU memóriájába, és a DirectStorage szabványosított GPU-s dekódolási eljárásával maga a grafikus vezérlő oldaná meg a kitömörítést.

Az újítások tekintetében két tényezőt vett figyelembe a Microsoft. Az új I/O API reagál az NVMe protokollt használó SSD-k működésére. Konkrétan ezekhez van igazítva, így képes kihasználni többek között az NVMe parancslistákat, illetve az I/O műveletek kiadása jóval kevesebb lépcsőből valósítható meg az aktuális I/O API-hoz viszonyítva. A változás jelentősen csökkenti a többletterhelést, így maga az API akár több tízezer I/O műveletet is képes kezelni másodpercenként. Az adattárolóra vonatkozó minimum követelmények szintjén a redmondiak a PCI Express 3.0-t használó NVMe SSD-ket jelölték meg, de nyilván a nagyobb sebesség jobb teljesítményt jelent majd, így érdemes lehet a PCI Express 4.0-s opciók felé venni az irányt.

Az adatok dekódolása már egy picit bonyolultabb ügy, ugyanis az Xbox Series S és X ehhez dedikált hardvert használ. Ez PC-s szinten nehezen működhetne, hiszen egyelőre nincs egy olyan specifikáció sem, amire a gyártók építhetnének, vagyis a mai PC-s GPU-k nem rendelkeznek hasonló hardveres blokkokkal. Emiatt a Microsoft a gyártókkal együttműködve kifejlesztett egy új tömörítő technológiát, amihez tartozik egy DirectCompute API-n keresztül dolgozó kitömörítő algoritmus. Ennek az előnye, hogy a meglévő, DirectX 12-t támogató hardverek képesek lesznek ezt kezelni, hiszen a compute shadert elég régóta támogatják a GPU-k, ráadásul maga a kitömörítés hatékonyan elvégezhető aszinkron compute módba. Később persze a gyártók biztosíthatnak specifikus hardveres blokkokat erre a problémára, de első körben az volt a cél, hogy a meglévő hardverek is megbirkózzanak vele valahogy.

Fontos megjegyezni, hogy a gyártóknak mindenképpen biztosítani kell egy DirectStorage implementációt a korábban kiadott GPU-architektúrákhoz. Tehát a DirectX 12, mint minimum igény jól hangzik, de kismértékben azért a gyártókon is múlik, hogy mely hardverek lesznek képesek kezelni az új lehetőségeket. Az azért jó hír, hogy a Microsoft próbálta a rendszert úgy felépíteni, hogy nagymértékben a szabványos API-jaikra, illetve magára az operációs rendszerre támaszkodjon, tehát a gyártók dolga viszonylag egyszerű lesz, jórészt csak akarat kell egy kompatibilis implementáció biztosításához.

A DirectStorage API része egyébként egy CPU-s kitömörítő is, ami akkor hasznos, ha az adatot a fejlesztő a rendszermemóriába szánja, ilyenkor az extra memóriamásolás elkerülése érdekében jobb, ha nem a GPU végzi el a dekódolást.

Végül kiemelendő, hogy a DirectStorage API hatékonyabb lesz a DirectX 12 Ultimate-tel, ezen belül is az azt támogató, sampler feedback funkciót kezelő hardverekkel. Ennek segítségével nem csak a sebesség kap kulcsszerepet, hanem a GPU memóriájába is főleg olyan adatok kerülnek, amelyekre az adott képkocka számítása szempontjából mindenképpen szükség van, így a meglévő VRAM-mal hatékonyabban lehet bánni.

A sampler feedback kapcsán megjegyzendő, hogy a DirectX 12 Ultimate csak TIER_0_9-es szintet követeli meg, de a TIER_1_0-s helyett, de ez papíron nem gond, mert a DirectStorage API mindkettőt elfogadja. Ugyanakkor csak az utóbbi szintnek megfelelő hardverek garantálják a funkció minden textúracímzési módban való működését. Ennek köszönhetően a TIER_1_0-t támogató hardvereken sokkal takarékosabban lehet majd bánni a VRAM-mal a TIER_0_9-es opcióhoz viszonyítva.

A Microsoft a PC-s DirectStorage API-t 2022-ben tervezi bevetni, de a fejlesztők a nyár folyamán kapnak egy olyan Windows kiadást, amivel tesztelhetik az újítást, és elkezdhetnek felkészülni rá.

Hirdetés

Fotóznál vagy videóznál? Mutatjuk, melyik okostelefon mire való igazán!

PR Vásárlás előtt érdemes megnézni, mit kínálnak az aktuális telefonok, ha igazán ütős képeket vagy profi mozgóképeket szeretnénk készíteni.

Azóta történt

Előzmények