Microsoft aumenta le prestazioni con il nuovo DirectStorage 1.2 anche su HDD più lenti
Microsoft ha rilasciato l’ultima versione della sua API DirectStorage. La nuova versione, 1.2, offre alcune nuove funzionalità e correzioni di bug. C’è anche un aumento delle prestazioni in serbo grazie ad alcune modifiche apportate.
Con DirectStorage 1.2, Microsoft introduce la modalità IO con buffer. La società afferma che è in risposta agli sviluppatori che desiderano utilizzare lo stesso percorso di codice, sia su unità a stato solido (SSD) che su unità disco rigido (HDD). Gli HDD funzionano in modalità IO bufferizzata poiché hanno tempi di ricerca molto più lunghi. L’azienda scrive:
DirectStorage attualmente apre i file in modalità senza buffer. Questo ci consente di evitare copie non necessarie, portando i dati sulla GPU il più rapidamente possibile. Tuttavia, abbiamo sentito da alcuni sviluppatori che vorrebbero poter utilizzare lo stesso codice sia su SSD ad alta velocità che su dischi rigidi legacy. I dischi rigidi legacy richiedono IO bufferizzato per mascherare i lunghi tempi di ricerca. Per questo motivo, abbiamo aggiunto la possibilità di configurare DirectStorage per aprire i file in modalità bufferizzata.
Oltre all’IO bufferizzato, è stata introdotta una nuova API GetCompressionSupport che aggiunge la possibilità di interrogare il percorso di decompressione utilizzato, sia che si tratti della GPU o del percorso della CPU di fallback. Il registro completo delle modifiche per DirectStorage 1.2 è riportato di seguito:
Nuove caratteristiche
- Aggiunto il supporto per abilitare l’IO file bufferizzato per l’utilizzo su HDD che potrebbero trarre vantaggio dai comportamenti di memorizzazione nella cache dei file del sistema operativo.
- Aggiungi l’API IDStorageQueue2::GetCompressionSupport per indicare il percorso che il runtime DirectStorage seguirà durante la decompressione di un formato di decompressione GPU supportato.
- Aggiorna dstorage.h e dstorageerr.h in modo che siano coperti dalla licenza MIT.
- Aggiungi Microsoft.Direct3D.DirectStorage.winmd , per facilitare la generazione di associazioni non C++ all’API.
Correzioni di bug
- Aggiungere il campo “Riservato1” a DSTORAGE_REQUEST_OPTIONS. Ciò rende più esplicito il layout in memoria della struttura, ma in realtà non cambia il layout rispetto alle versioni precedenti.
- Correggi DSTORAGE_REQUEST_DESTINATION_TEXTURE_REGION per le trame 3D.
- Risolto il problema di pianificazione che si manifestava durante il trasferimento di dati non compressi dalla memoria ai buffer
Miglioramenti delle prestazioni
- Sposta la copia dopo la decompressione della GPU sulla coda di calcolo per le GPU in cui è più veloce.
Puoi trovare maggiori dettagli sul post del blog ufficiale qui .
Lascia un commento