DirectStorage 1.1 e la rivoluzione del PC gaming: cos'è e come funziona?

Le nuove API figlie di DirectX 12 Ultimate sono pronte a rivoluzionare il mondo del gaming su PC e console: ma cosa sono esattamente?

DirectStorage 1.1 e la rivoluzione del PC gaming: cos'è e come funziona?
Articolo a cura di

Sono passati due anni dall'arrivo delle cosiddette console Next-Gen e le tante promesse tecnologiche che ne hanno accompagnato il lancio stanno ancora oggi cercando una concreta maturazione, in particolare per quanto riguarda il tanto chiacchierato - e pubblicizzato - comparto I/O: se da una parte PlayStation 5 ha mostrato i muscoli con un SSD e un controller dedicato che possono contare sul sistema di compressione proprietario dal nome evocativo come Kraken, Microsoft ha puntato tutto sulla Xbox Velocity Architecture ed in particolare su DirectStorage, API figlia delle DirectX 12 Ultimate che ha esordito sulle console Xbox Series X e S per poi arrivare su PC con Windows 11.
Sebbene questa tecnologia debba ancora dimostrare appieno le proprie reali capacità, il colosso di Redmond ha continuato a migliorare le proprie librerie rilasciando solo di recente DirectStorage 1.1, versione aggiornata e che porta in dote importanti novità.

Sappiamo già che il primo gioco con DirectStorage su Windows 11 sarà Forspoken e ne farà largo uso (dopo l'abbandono last minute di Scorn), ma cos'è e come funziona questa tecnologia? Facciamo un po' di chiarezza, con un focus particolare sulla versione 1.1, che promette di rivoluzionare il gaming su console e PC.

DirectStorage: la potenza è nulla senza il controllo

L'obbiettivo dichiarato di DirectStorage è quello di ottimizzare la gestionedei dati (o meglio, il flusso) per velocizzare il caricamento dei giochi e limitare le fasi di attesa tra uno scenario e l'altro. I giochi moderni, in larga parte, sono caratterizzati da mondi sempre più vasti, popolati a loro volta da una miriade di elementi: la corretta gestione di asset complessi e "pesanti" diventa, quindi, fondamentale per fornire un'esperienza di gioco gradevole e soprattutto per non limitare la visione creativa degli sviluppatori stessi.
La soluzione messa in campo da Microsoft e adottata da altri partner come NVIDIA, è stata quella di mettere in comunicazione diretta i più recenti sistemi di archiviazione, ossia gli SSD NVMe, con la GPU e la memoria dedicata della scheda video, limitando per quanto possibile il passaggio di dati dalla CPU.

Per comprendere il perché di questa scelta bisogna ritornare sulla struttura dei videogiochi moderni e sulla loro pipeline: i titoli più recenti richiedono il caricamento di una grande mole di dati rispetto al passato e, per ottimizzare la gestione della memoria, gli sviluppatori hanno implementato tecniche che permettono di suddividere gli asset in piccole parti e di caricare di volta in volta solo quelle necessarie alla corretta renderizzazione di una determinata scena.

L'aspetto negativo di questo metodo risiede nel gran numero di richieste input/output (I/O) che viene demandato al sistema hardware. Le vecchie API erano in grado di gestire questo flusso dati in modo meno efficiente, con la conseguenza che le potenzialità in termini di banda degli SSD NVMe non potevano essere sfruttate appieno.

DirectStorage promette di compiere anche un ulteriore passo in avanti, ottimizzando il processo di compressione e decompressione degli asset e massimizzando le prestazioni lungo tutta la porzione di pipeline che parte dall'SSD NVMe per arrivare alla GPU.
Le nuove librerie di Microsoft utilizzano diverse soluzioni, a partire dalla riduzione dell'overhead NVMe per ogni singola richiesta fino alla possibilità di gestire parallelamente più richieste I/O: l'insieme di queste tecniche porta, almeno sulla carta, a un miglioramento dei tempi di caricamento, velocizzando persino il download dei giochi e consentendo agli sviluppatori di utilizzare, per esempio, texture sempre più fedeli per creare mondi virtuali ancora più grandi e sofisticati.

Come è facile intuire, il corretto funzionamento di DirectStorage porta a dei limiti di natura hardware: per poterne godere occorre un SSD NVMe con tanto di driver dedicato, lo "Standard NVM Express Controller", e una GPU compatibile con DirectX 12 (meglio se Ultimate) con supporto a Shader Model 6.0.
Va da sé che i vantaggi maggiori si otterranno con Windows 11, costruito nativamente intorno alla nuova API, anche se è garantito il supporto a Windows 10.

DirectStorage 1.1: le attese novità finalmente disponibili

All'inizio di novembre, dopo una lunga attesa, Microsoft ha finalmente rilasciato DirectStorage 1.1, versione che rende disponibili tutte le funzionalità legate alla tecnologia di decompressione GPU. Questa soluzione ottimizza ulteriormente la pipeline di caricamento andando a snellire la comunicazione tra processore e GPU, sfruttando le moderne unità NVMe e spostando gli oneri della decompressione degli asset dalla CPU al processore grafico.

Allo stato attuale, gli algoritmi di compressione/decompressione (anche quelli pensati per gli archivi ZIP o RAR) funzionano seguendo questo schema: il pacchetto compresso archiviato nello storage passa alla memoria di sistema, la CPU decomprime i dati e infine i dati decompressi vengono trasferiti alla memoria dedicata della GPU.
GPU Decompression sfrutta, invece, le enormi capacità di calcolo specializzato delle GPU moderne, esentando il processore da questo gravoso compito. In questo modo, come ha spiegato la stessa Microsoft, potranno essere utilizzate le capacità di calcolo in parallelo delle GPU andando a ridurre ulteriormente i tempi di caricamento degli elementi di gioco, con particolare vantaggio per i sempre più grandi open-world.

Per mostrare concretamente i vantaggi di questa tecnologia, Microsoft ha mostrato dei test effettuati su un archivio ottimizzato ad hoc e del peso di 5,65 GB: gli asset caricati dalla CPU hanno impiegato 2,36 secondi mentre quelli elaborati dalla GPU hanno ridotto il processo a soli 0,80 secondi. Insomma, una volta implementato nei nuovi giochi, DirectStorage promette di rivoluzionare non solo il modo in cui i giocatori fruiscono di questi ma persino le possibilità creative degli sviluppatori. Per vedere all'opera per la prima volta questa tecnologia bisognerà attendere l'arrivo di Forspoken, poiché l'ultima fatica di Luminous Production beneficerà dei vantaggi delle nuove API ottimizzate. Non resta che attendere il prossimo 24 gennaio 2023.