Microsoft Directstorage Api

Microsoft a publié le SDK de DirectStorage 1.2, une évolution avec quelques ajouts plus ou moins sympathiques, notamment pour le disque dur.

On peut difficilement parler de succès concernant DirectStorage pour nos PC jusqu’à présent. Malgré les atouts de la  technologie sur papier, elle peine encore à se faire adopter. Le nombre de jeux compatibles peut se compter sur le doigt d’une main — enfin deux, si l’on inclut Diablo IV qui intégrerait apparemment déjà le nécessaire pour supporter DirectStorage. Un tel support serait quand même assez surprenant pour un jeu dont le développement avait sans aucun doute commencé bien avant l’apparition de la technologie en question, mais n'en resterait évidemment pas moins le bienvenu. 

Pour rappel, cette technologie, déclinée de ce qui se fait désormais déjà sur les dernières consoles avec leur stockage rapide, qui permet d'accélérer les temps de chargement des jeux, grâce à un transfert plus rapide des données entre le support de stockage et la carte graphique, sans que ces données aient à être décompressées par le CPU, puisque c'est le GPU et sa VRAM qui s'en chargeront. Le fait que DirectStorage était initialement limité au SSD NVMe n’avait pas dû encourager son adoption. Heureusement, les besoins matériels furent assez rapidement relaxés, par exemple avec l’ajout du support des SSD SATA et aujourd’hui, la nouvelle version 1.2 du SDK DirectStorage — qui n’est pas révolutionnaire, mais plutôt une évolution avec des améliorations pour faciliter le travail les développeurs — vient finalement introduire celui des disques durs !

Cette évolution majeure prend la forme d’une nouvelle option de « Force Buffered IO », ajoutée par Microsoft à la requête des développeurs. Elle a pour vocation de leur permettre d’utiliser à l’avenir le même code qu’un jeu soit joué à partir d’un disque dur ou d’un SSD.  De base, DirectStorage accède aux fichiers en mode « unbuffered » (ce qui permet d’éviter des copies inutiles et d’envoyer les données le plus rapidement possible vers le GPU), alors qu’un disque dur utilise des I/O tamponnées pour pallier des temps d’accès (beaucoup) plus longs, d’où l’incompatibilité initiale. Avec cette mise à jour, DirectStorage pourra désormais ouvrir les fichiers en mode tamponné d’un disque dur et ce sera à la charge des développeurs d’activer cette option seulement dans ce cas de figure. À voir si cela se traduira par un boost des performances pour le bon vieux disque dur et par la même occasion de l’adoption de DirectStorage.

Avec ceci, Microsoft a aussi ajouté un nouveau mécanisme de feedback permettant aux développeurs de mieux connaitre et comprendre les chemins de décompression empruntés par le logiciel, ce qui laissera un jeu de savoir si les actifs compressés sont décompressés directement par le GPU ou s’ils ont été repliés vers le CPU. Cette fonction « GetCompressionSupport API » devrait logiquement ouvrir la porte à de nouvelles optimisations des actifs et du software. Pour plus d’information sur DirectStorage 1.2, c’est par ici.

Matt


  • C'est bien de ne pas les oublier

    Mais je me demande si un ssd sata même sans directstorage ne serait pas plus rapide

    • C'est exactement ce que je me disais à la lecture de l'article. La question de la sécurité se pose aussi : si c'est l'OS qui gère les données, c'est pour une bonne raison, je ne suis pas fan de voir le GPU y avoir un accès direct...

2 commentaires

Laissez votre commentaire

En réponse à Some User