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

Another ICT Guy

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

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.

Fonte: http://feeds.hwupgrade.it/

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *