Microsoft améliore les performances avec le nouveau DirectStorage 1.2, même sur les disques durs plus lents
Microsoft a publié la dernière version de son API DirectStorage. La nouvelle version, 1.2, apporte quelques nouvelles fonctionnalités ainsi que des corrections de bugs. Il y a aussi une amélioration des performances en magasin grâce à certaines modifications apportées.
Avec DirectStorage 1.2, Microsoft apporte le mode IO tamponné. La société affirme que c’est en réponse aux développeurs qui souhaitent utiliser le même chemin de code, à la fois sur les disques à semi-conducteurs (SSD) et sur les disques durs (HDD). Les disques durs fonctionnent en mode IO tamponné car ils ont des temps de recherche beaucoup plus longs. La société écrit :
DirectStorage ouvre actuellement les fichiers en mode sans tampon. Cela nous permet d’éviter les copies inutiles, en transférant les données sur le GPU le plus rapidement possible. Cependant, certains développeurs nous ont dit qu’ils aimeraient pouvoir utiliser le même code à la fois sur des SSD haute vitesse et sur des disques durs hérités. Les disques durs hérités nécessitent des E/S tamponnées afin de masquer les longs temps de recherche. Pour cette raison, nous avons ajouté la possibilité de configurer DirectStorage pour ouvrir les fichiers en mode tampon.
Outre les E/S mises en mémoire tampon, une nouvelle API GetCompressionSupport a été introduite, qui ajoute la possibilité d’interroger le chemin de décompression utilisé, qu’il s’agisse du GPU ou du chemin du CPU de secours. Le journal des modifications complet pour DirectStorage 1.2 est donné ci-dessous :
Nouvelles fonctionnalités
- Ajout de la prise en charge de l’activation des E/S de fichiers mis en mémoire tampon pour une utilisation sur les disques durs pouvant bénéficier des comportements de mise en cache des fichiers du système d’exploitation.
- Ajoutez l’API IDStorageQueue2::GetCompressionSupport pour indiquer le chemin que le runtime DirectStorage empruntera lors de la décompression d’un format de décompression GPU pris en charge.
- Mettez à jour dstorage.h et dstorageerr.h pour être couverts par la licence MIT.
- Ajoutez Microsoft.Direct3D.DirectStorage.winmd , pour faciliter la génération de liaisons non-C++ à l’API.
Corrections de bogues
- Ajoutez le champ « Réservé1 » à DSTORAGE_REQUEST_OPTIONS. Cela rend la disposition en mémoire de la structure plus explicite, mais ne change pas réellement la disposition des versions précédentes.
- Correction de DSTORAGE_REQUEST_DESTINATION_TEXTURE_REGION pour les textures 3D.
- Correction d’un problème de planification qui se manifestait lors du transfert de données non compressées de la mémoire vers les tampons
Amélioration des performances
- Déplacez la copie après la décompression GPU vers la file d’attente de calcul pour les GPU où cela est plus rapide.
Vous pouvez trouver plus de détails sur le blog officiel ici .
Laisser un commentaire