DirectStorage su Windows 11: cos'è, come funziona e perché migliora i videogiochi

DirectStorage su Windows 11: cos'è, come funziona e perché migliora i videogiochi

Microsoft ha deciso di rendere la tecnologia DirectStorage che accelererà tutta la parte di caricamento dei dati nei videogiochi esclusiva del nuovo Windows 11. Vediamo di che si tratta e quali sono i benefici per sviluppatori e giocatori.

di pubblicata il , alle 11:51 nel canale Sistemi Operativi
WindowsMicrosoft
 

Durante l'evento legato a Windows 11, Microsoft ha parlato anche di gaming, un tassello fondamentale nella sua strategia per rendere Windows e Xbox le piattaforme di riferimento per i giocatori di tutto il mondo. L'azienda ha citato DirectStorage, una tecnologia introdotta con Xbox Series X | S all'interno della cosiddetta Xbox Velocity Architecture e che vedremo presto anche su PC, ma solo con il nuovo Windows 11 atteso entro fine anno: non sarà implementata in Windows 10 e questo potrebbe indurre molti gamer a passare dal vecchio al nuovo sistema operativo.

DirectStorage, API all'interno della famiglia DirectX (precisamente le DirectX 12 Ultimate), sarà supportata da tutti i principali produttori di hardware: Nvidia, ad esempio, ne parlò nel settembre dello scorso anno annunciando la sua implementazione della tecnologia con il brand RTX IO.

L'obiettivo di DirectStorage è far sì che i giochi si carichino più velocemente e limitare le interruzioni per caricare gli scenari. I mondi dei videogiochi sono sempre più vasti e il caricamento delle aree può interrompere l'esperienza e rappresentare anche un vincolo creativo per gli sviluppatori. Microsoft e i suoi partner hanno così pensato a come aggirare il problema: in pratica, l'idea è quella di bypassare o quasi la CPU, mettendo in comunicazione diretta lo storage moderno, ossia gli SSD NVMe, con la GPU e la memoria a bordo della scheda video.

DirectStorage permette di scaricare sulla GPU un sacco di lavoro che altrimenti occuperebbe gran parte delle risorse della vostra CPU, migliorando di conseguenza il frame rate, la velocità dei caricamenti e aprendo la porta a un'era di giochi open world con texture di maggiore qualità e più ampi. Inoltre, grazie alla compressione lossless, il download dei giochi e le dimensioni delle installazioni saranno più contenuti.


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

Gli SSD NVMe moderni sono in grado di gestire più gigabyte al secondo e quindi garantiscono una bandwidth decisamente superiore alle vecchie tecnologie di archiviazione, ossia gli hard disk. Allo stesso tempo, anche il modo in cui i giochi sono realizzati è mutato nel corso del tempo.

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 che 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.

Ed è qui che Microsoft e l'ecosistema dei partner hanno trovato un ostacolo, ossia le API di archiviazione create in passato, non ottimizzate per gestire un così alto numero di richieste di I/O e incapaci di sfruttare appieno la bandwidth degli SSD NVMe. DirectStorage è la risposta a questo problema.


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

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). Non avete i requisiti? I giochi continueranno a funzionare, ma alla vecchia maniera, non godrete quindi delle migliorie velocistiche.

Che si tratti del caricamento della texture di un vestito o un dettaglio sempre più nitido di una montagna in lontananza, il compito che il sistema deve assolvere è sempre lo stesso, ossia caricare il dato dal dispositivo di archiviazione per farlo arrivare alla GPU. 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.

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, servirebbero 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.

Abbiamo detto che è necessaria un'unità NVMe, e questo non è un caso. NVMe, acronimo di Non Volatile Memory Express, è uno standard fondamentale perché supporta molte più code (fino a 64K, con ciascuna coda in grado di supportare 64K comandi) rispetto al SATA.


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. Come detto, un SSD NVMe può avere più code e ogni coda può contenere più richieste contemporaneamente: questa caratteristica è ideale per la gestione di dati sempre più parallelizzati.

Insomma, DirectStorage è un passo avanti per far finalmente fruttare gli SSD di nuova generazione: purtroppo per approfittarne dovrete passare necessariamente a Windows 11 e non è detto che il vostro sistema risponda ai requisiti, seppur non tecnicamente elevati, ma con qualche elemento - come il supporto TPM - da verificare. Ulteriori informazioni qui: Windows 11 requisiti: cosa vi serve per far girare il nuovo sistema operativo Microsoft.

 

12 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
ghiltanas25 Giugno 2021, 12:05 #1
gli nvme dovranno essere pcie 4.0 o bastano i 3.0?
coschizza25 Giugno 2021, 12:08 #2
Originariamente inviato da: ghiltanas
gli nvme dovranno essere pcie 4.0 o bastano i 3.0?


3.0
nickname8825 Giugno 2021, 12:40 #3
Originariamente inviato da: coschizza
3.0
Han detto che la tecnologia può essere compatibile anche con PCI-Ex 3.0 ma non è poi detto che tale compatibilità verrà estesa a quest'ultima.
coschizza25 Giugno 2021, 12:43 #4
Originariamente inviato da: nickname88
Han detto che la tecnologia può essere compatibile anche con PCI-Ex 3.0 ma non è poi detto che tale compatibilità verrà estesa a quest'ultima.


ieri nella conferenza degli sviluppatori a domada precisa hanno risposto che basta un nvme su pci-ex 3
nickname8825 Giugno 2021, 12:48 #5
Originariamente inviato da: coschizza
ieri nella conferenza degli sviluppatori a domada precisa hanno risposto che basta un nvme su pci-ex 3

Ma avverrà tutto a livello di OS o sarà necessario un supporto anche via BIOS ?
E per BIOS intendo non solo quello della MOBO ma anche della VGA.
nickname8825 Giugno 2021, 12:48 #6
Originariamente inviato da: coschizza
ieri nella conferenza degli sviluppatori a domada precisa hanno risposto che basta un nvme su pci-ex 3

Ma avverrà tutto a livello di OS o sarà necessario un supporto anche via BIOS ?
E per BIOS intendo non solo quello della MOBO ma anche della VGA.
nickname8825 Giugno 2021, 12:48 #7
Originariamente inviato da: coschizza
ieri nella conferenza degli sviluppatori a domada precisa hanno risposto che basta un nvme su pci-ex 3

Ma avverrà tutto a livello di OS o sarà necessario un supporto anche via BIOS ?
E per BIOS intendo non solo quello della MOBO ma anche della VGA.
coschizza25 Giugno 2021, 12:59 #8
Originariamente inviato da: nickname88
Ma avverrà tutto a livello di OS o sarà necessario un supporto anche via BIOS ?
E per BIOS intendo non solo quello della MOBO ma anche della VGA.


solo OS di fatto è un estensione delle dx 12 ultimate se la scheda le supporta supporta anche le nuove api
Gringo [ITF]25 Giugno 2021, 13:15 #9
Mi ricordo ce su Floppy esisteva un sistema del genere su un unico videogioco, in cui da floppy sostituivano direttamente i blocchi di grafica direttamente sulla ram video senza doverli caricare completamente durante il Gameplay.
SWIV per Amiga.... il fondale era caricato dinamicamente senza interruzione per i caricamenti. (lo so la cosa è completamente diversa ma il concetto finale è quello).
Solo che se Windows 11 richiede piastra madre nuova, inutile farsi queti problemi 3.0... 4.0... devi cambiare PC lo stesso per un stupido TMP 1.2/2.0 che il 50% delle mobo vendute fino ad ieri non ha.
nickname8825 Giugno 2021, 13:18 #10
Originariamente inviato da: Gringo [ITF]
Mi ricordo ce su Floppy esisteva un sistema del genere su un unico videogioco, in cui da floppy sostituivano direttamente i blocchi di grafica direttamente sulla ram video senza doverli caricare completamente durante il Gameplay.
SWIV per Amiga.... il fondale era caricato dinamicamente senza interruzione per i caricamenti. (lo so la cosa è completamente diversa ma il concetto finale è quello).
Solo che se Windows 11 richiede piastra madre nuova, inutile farsi queti problemi 3.0... 4.0... devi cambiare PC lo stesso per un stupido TMP 1.2/2.0 che il 50% delle mobo vendute fino ad ieri non ha.

Non è infatti necessario avere il modulo per eseguire la funzionalità del TPM.
Le Mobo ( quasi tutte ) è vero che non hanno proprio il modulo, ma perchè non serve se la funzionalità può essere eseguita dalla CPU tramite firmware. ( fTPM )

E questa funzione è supportata da diverse CPU e MOBO e Win11 si installa :

https://wccftech.com/most-modern-pc...m-1-2-required/
https://in.pcmag.com/migrated-65955...o-your-pcs-bios
https://www.tomshardware.com/uk/new...nable-bios-uefi


La mia vecchia X370 PRO ad esempio ce l'ha e il mio 3800X lo supporta.
Certo che se parliamo di catafalchi risalenti all'era FX o peggio non è che si possa pretendere più di tanto.

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.
 
^