Még a 2022-es év végén futott be a DirectStorage API, ami rögtön az 1.1-es verzióval kezdett. Ami furcsa ebben a technológiában, hogy már több tucat cím támogatja, mégis sokszor előkerül az, hogy nem működik jól. Legutóbb a Marvel's Spider-Man 2 és a Monster Hunter Wilds kapcsán került a hírekbe, nem túl pozitív értelemben, pedig a valóságban az API alapvetően azt teszi, amire tervezték, vagyis a látott eredmények helytállónak és tervszerűnek számítanak.
A Microsoft most a DirectStorage frissítésére készül, és a jelenlegi híresztelések szerint a Zstd direkt támogatása várható a következő körben. Ez egy rendkívül gyors és egyben nagyon jó tömörítési arányt biztosító algoritmus, amit eredetileg a Meta fejlesztett ki.
A fejlesztéssel a DirectStorage hatékonyabban működhetne a játékokban szállított, jellemzően tömörített tartalom streamelését tekintve. Utóbbit manapság valamilyen Deflate-alapú implementációval szokás megoldani, és ez önmagában teljesen rendben is van, viszont a fejlődő hardverkörnyezet mellett felmerülhet a kérdés, hogy a jövőben mi lehet majd a rendszer szűk keresztmetszete.
Az egyik kritikus tényezőnek az I/O műveletek számítanak, és ha ma nem is, de a jövőben nem kizárt, hogy az SSD-k teljesítménye visszafoghatja a tömörített tartalom streamelését. A közérthetőség érdekében érdemes itt egy nagyon egyszerű dologból kell kiindulni. Azt látjuk a CPU-k, sőt, akár a GPU-k fejlődését tekintve is, hogy egyre több, párhuzamosan elérhető erőforrás kerül az új generációkba, vagyis lényeges mértékben nő a futtatható konkurens szálak száma. Elméleti szinten gondolkodva tehát lesz egy olyan pont, amikor egy adott processzor több adatot tudna kitömöríteni, mint amennyi adat egyáltalán beolvasható az adattárolóról. Itt jön el az a pillanat, amikor a szűk keresztmetszetté válik az SSD. Hogyan lehet ezen javítani? Például jobb tömörítő algoritmussal.
A Zstd a Deflate-alapú implementációkhoz viszonyítva jobban skálázódik a sok-sok szállal dolgozó CPU-kon, és a kedvezőbb tömörítési arány miatt leveszi a terhet az adattárolóról, így könnyen érthető, hogy miért lehet ez a következő lépés a DirectStorage karrierjében.
A Zstd hátránya ugyanakkor, hogy az algoritmus tipikus működése viszonylag sok divergens vezérlési ágat és adatfüggőséget tartalmaz, így GPU-kon való futtatása nem feltétlenül optimális. A DirectStorage esetében ugyanakkor látható, hogy a gyakorlatban a fejlesztők nem kifejezetten rajonganak a GPU-s dekódolásért, tehát az API-t most is főleg a CPU-n való feldolgozásra használják. Emiatt a Microsoftnak érdeke a technológiájának azt a részét erősíteni, amely felé nagyobb az érdeklődés, és nem feltétlenül hasznos olyan dolgokat erőltetni, amit nem sokan alkalmaznak.
