DirectStorage: cosa devi sapere sulla tecnologia che rivoluzionerà i videogiochi su Windows 10 e 11

DirectStorage: cosa devi sapere sulla tecnologia che rivoluzionerà i videogiochi su Windows 10 e 11

Microsoft ha reso disponibile finalmente l'API DirectStorage, pensata per velocizzare il caricamento dei giochi su PC e fondamentale per creare e supportare titoli con mondi sempre più ampi e dettagliati.

di pubblicata il , alle 11:11 nel canale Sistemi Operativi
gaming hardwareWindows 11MicrosoftWindows
 

Microsoft ha annunciato la disponibilità dell'SDK di DirectStorage, l'API pensata per velocizzare enormemente l'esperienza di caricamento dei videogiochi, permettendo una riproduzione senza interruzioni di vastissimi mondi open world. L'obiettivo è dire addio ai caricamenti tra una scena e l'altra, in modo che una volta all'interno dello scenario sia possibile passare da una mappa all'altra senza lunghi o frequenti caricamenti, in piena continuità. Con la pubblicazione dell'SDK la palla passa agli sviluppatori di videogiochi, ai quali non resta che approcciare a DirectStorage per far sì che le loro produzioni diano il meglio sui PC moderni.

Cos'è e cosa fa esattamente DirectStorage? Si tratta di una tecnologia introdotta da Microsoft con le console Xbox Series X|S e che finalmente è pronta ad approdare anche sui PC Windows. Inizialmente la casa di Redmond pensava di renderla una funzionalità esclusiva di Windows 11, ma poi ci ha ripensato, anche se ci saranno delle differenze. "DirectStorage è compatibile con i dispositivi Windows 10, ma Windows 11 integra le ultime ottimizzazioni di storage ed è la nostra soluzione consigliata per i giochi", si legge in un post. In cosa consistano le differenze e il peso di quest'ultime al momento non è dato saperlo.

DirectStorage "offre agli sviluppatori tutto ciò di cui hanno bisogno per passare a un nuovo modello di input / output per i loro giochi e stiamo lavorando a ulteriori modi per togliere lavoro alla CPU. La decompressione tramite la GPU è la prima cosa nella nostra roadmap, una funzionalità che darà agli sviluppatori più controllo sulle risorse e su come l'hardware viene sfruttato". Insomma,lo sviluppo va avanti.


La situazione attuale, con i giochi limitati dall'attuale architettura di storage dei PC

DirectStorage nasce dall'analisi di un problema concreto e dal desiderio di sfruttare al meglio le novità tecnologiche dell'ultimo decennio. I videogiochi moderni sono sempre più vasti e complessi e il caricamento delle aree può rovinare l'esperienza finale del giocatore e rappresentare un vincolo creativo per gli sviluppatori.

Parallelamente, il mondo dei PC sta passando totalmente agli SSD, di generazione in generazione sempre più veloci. Non solo, anche le GPU diventano più potenti e poliedriche. Microsoft e i suoi partner hanno così pensato a un modo per bypassare o quasi la CPU, mettendo in comunicazione diretta gli SSD con la GPU e la memoria a bordo della scheda video. DirectStorage è in grado quindi di scaricare sulla GPU una bella fetta di lavoro che altrimenti occuperebbe gran parte delle risorse della CPU.

Grazie alle capacità di calcolo parallelo della GPU, il risultato di questa operazione è un miglioramento del frame rate, caricamenti più veloci e giochi open world più ampi e con texture di maggiore qualità. Inoltre, grazie alla compressione lossless, il download dei giochi e le dimensioni delle installazioni si faranno più contenuti.

Gli SSD NVMe moderni sono in grado di gestire più gigabyte al secondo e quindi garantiscono una bandwidth decisamente superiore agli hard disk che hanno dettato legge per decenni. Allo stesso tempo, anche il modo in cui i giochi vengono realizzati è cambiato nel corso del tempo.


La compressione dei dati permette di avere giochi migliori e più complessi, ma la CPU fatica a farsi carico delle operazioni di decompressione

I titoli moderni caricano molti più dati di quelli vecchi e in un modo più intelligente con l'obiettivo di adattare la mole di informazioni alla memoria condivisa e accessibile dalla GPU. Invece di caricare grandi blocchi di dati in una volta sola con poche richieste di input / output (I/O), i giochi suddividono gli asset - come le texture - in parti più piccole, caricando solo quelle necessarie affinché la scena venga renderizzata. Questo approccio è molto più efficiente da un punto di vista della memoria, anche se genera molte più richieste di I/O.

Il problema è che l'API di archiviazione integrata in Windows fino a oggi è del tutto inefficiente, incapace di sfruttare al meglio un così alto numero di richieste di I/O e la maggiore bandwidth degli SSD NVMe. Così Microsoft e i suoi partner si sono messi al tavolo e hanno plasmato DirectStorage.

"I giochi vecchio stampo avevano un budget di streaming degli asset nell'ordine di 50 MB/s che, anche con blocchi di dimensioni inferiori a 64k (cioè una tile di una texture), ammontava a solo centinaia di richieste I/O al secondo", spiegava Microsoft lo scorso settembre.

"Per sfruttare l'intera bandwidth degli SSD NVMe moderni sono necessarie decine di migliaia di richieste I/O al secondo. Prendendo l'unità all'interno di Xbox Series X da 2,4 GB/s e blocchi sempre da 64k, servono più di 35.000 IOPS per saturare l'SSD. Le API precedenti a DirectStorage richiedono la gestione di ognuna di queste richieste una alla volta. Il processo crea un overhead non molto importante, ma se viene moltiplicato per decine di migliaia di volte al secondo può avere un impatto evidente e impedire ai giochi di sfruttare la maggiore bandwidth dell'unità NVMe".


Anziché caricare CPU e RAM, con RTX IO e DirectStorage è possibile sfruttare la GPU per farsi carico più rapidamente degli asset di gioco

"Vi è poi un altro elemento da considerare, ossia gli asset sono compressi e per essere usati devono prima essere decompressi. DirectStorage è ottimizzata per assicurare che non vi siano perdite di efficienza in questo processo e massimizzare le prestazioni lungo l'intera pipeline, dall'unità NVMe fino alla GPU, più veloce nella decompressione della CPU".

"Questo è possibile in vari modi, ossia riducendo l'overhead NVMe per richiesta, abilitando richieste di I/O multiple e parallele in blocchi inviabili in modo efficiente alla GPU e altro ancora. In questo modo gli sviluppatori hanno molti meno vincoli creativi e possono creare mondi virtuali più grandi e dettagliati che si caricano velocemente mentre li attraversate".

In tutto questo gioca un ruolo fondamentale lo standard NVMe, acronimo di Non Volatile Memory Express. Come illustrato in questo articolo, NVMe supporta molte più code (fino a 64K, con ciascuna coda in grado di supportare 64K comandi) rispetto al SATA degli SSD tuttora disponibili e molto in voga anni fa.


Secondo Nvidia, la decompressione di dati tramite GPU impiega poco più di 1 secondo, a fronte di oltre 5 secondi richiesti da una CPU AMD con 24 core

Per ottenere i dati, il sistema operativo invia una richiesta all'unità e le informazioni vengono consegnate tramite queste code. Un SSD NVMe può avere più code e ogni coda può contenere più richieste contemporaneamente, il che è ideale per la gestione di dati sempre più parallelizzati.

Nel suo post Microsoft afferma che la tecnologia potrebbe restituire benefici "su qualsiasi tipo di dispositivo di storage", ma è caldamente consigliato un SSD NVMe. In realtà, l'azienda scrive nei requisiti di Windows 11 che DirectStorage richiede un SSD NVMe per salvare e avviare i giochi, accompagnato da un driver apposito ("Standard NVM Express Controller") e una GPU DirectX 12 con supporto Shader Model 6.0 (GeForce RTX 2000 e 3000, GPU AMD RDNA 2 e future GPU dedicate Intel). NVIDIA ha annunciato tempo fa la sua implementazione di DirectStorage, ribattezzata "RTX IO".

Insomma, per sfruttare DirectStorage al meglio con i futuri videogiochi vi servirà una scheda video abbastanza recente e un SSD NVMe, nient'altro. Qualora il vostro PC non rispettasse i requisiti, niente paura, i giochi continueranno a funzionare lo stesso ma "alla vecchia maniera", senza beneficiare quindi dell'esperienza garantita da DirectStorage.

7 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
igiolo15 Marzo 2022, 12:53 #1
bella bella
che poi è una delle innovazioni presenti da subito su PS5
coschizza15 Marzo 2022, 12:56 #2
Originariamente inviato da: igiolo
bella bella
che poi è una delle innovazioni presenti da subito su PS5


innovazioni che no erano usate pero da nessun gioco quindi di fatto e come se non esistessero
io78bis15 Marzo 2022, 13:17 #3
Ma perché relegarlo al solo mondo gaming? Non avrebbe beneficio qualsiasi software grafica/video che deve trattare molti dati?
igiolo15 Marzo 2022, 13:22 #4
Originariamente inviato da: coschizza
innovazioni che no erano usate pero da nessun gioco quindi di fatto e come se non esistessero


hmmmm
no
almeno i titoli third party di sony la usano
Bazzilla15 Marzo 2022, 14:20 #5
Originariamente inviato da: io78bis
Ma perché relegarlo al solo mondo gaming? Non avrebbe beneficio qualsiasi software grafica/video che deve trattare molti dati?


E' già a beneficio di qualunque tipo di software: nel momento stesso in cui metti a disposizione le API di sistema operativo, ne può beneficiare qualunque applicazione desideri, perfino un editor di testo.
demonsmaycry8415 Marzo 2022, 15:44 #6
ottimo! se riusciamo ad avere la solita esperienza di caricamento di ps5 è spaziale..speriamo anche se bho questo sistema necessita di una gpu per funzionare...gpu sigh che mancano comunque aspettando le gpu le directstorage arriveranno anche alle 3.0 e così saranno implementate in tutti i giochi
Bi7hazard05 Aprile 2023, 08:19 #7
questa versione windows non supporta le ottimizzazioni DirectStorage 10

Versione 10.0.19045 Build 19045 che dovrebbe essere la 22H2

infatti, digitando winver mi da la 22h2

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^