Microsoft a publié son nouveau SDK DirectStorage 1.2 (s’ouvre dans un nouvel onglet), la dernière mise à jour de la plus grande chose qui soit arrivée aux SSD depuis que nous nous sommes éloignés du vieux contrôleur Sandforce. Et la plus grande chose à se produire dans cette mise à jour… une amélioration de la façon dont cela fonctionne sur les disques durs.
Il y a là un niveau d’absurdité que je peux absolument accepter. Mais cela a tout son sens et pourrait en fait être une chose qui pourrait en fait encourager davantage de développeurs de jeux à sauter sur la fonctionnalité le plus tôt possible.
DirectStorage vise à tirer parti de la puissance et des performances de la technologie des disques SSD, en conjonction avec les GPU modernes, pour améliorer les performances des jeux qui utilisent la technologie basée sur DirectX. Il vise à la fois à réduire les temps de chargement, voire à les supprimer entièrement, et également à réduire la charge sur les processeurs (s’ouvre dans un nouvel onglet) lorsqu’il s’agit de déplacer des données dans un système.
Mais cela ne fonctionne pas vraiment bien sur les disques durs, même si c’est un peu le point : ce n’est pas censé le faire.
Bien que les SSD existent depuis longtemps dans les PC de jeu, ce n’est que cette génération qui les a vus être installés par défaut dans les principales consoles de jeux. La plupart des développements de jeux étant de nature multiplateforme, la grande majorité des titres ont encore besoin de bien fonctionner sur une technologie de disque dur plus ancienne.
C’est moins un problème maintenant, et il existe un analogue DirectStorage à la fois dans la Xbox Series X/S et (peut-être dans une moindre mesure) dans la PlayStation 5. Ce qui signifie qu’il est maintenant temps de commencer à vraiment tirer parti de ces SSD pour les jeux.
Mais il y a encore beaucoup de machines héritées qui utilisent des disques durs, et les développeurs ne voudront pas couper des sections d’un public potentiel, ce qui pourrait expliquer pourquoi nous n’avons jusqu’à présent vu qu’un seul jeu en fait en utilisant DirectStorage, Forspoken (s’ouvre dans un nouvel onglet).
Croisons les doigts pour que cela ne soit plus une chose maintenant car, en réponse aux développeurs qui le demandent, Microsoft a ajouté une fonctionnalité au SDK DirectStorage 1.2 qui permet à un jeu de forcer l’utilisation de fichiers tamponnés, appelés Force Buffered IO. DirectStorage n’ouvrait auparavant que les fichiers en mode sans tampon, car l’interface SSD est suffisamment rapide pour rendre cela faisable, et cela signifie qu’il n’y a pas de copies inutiles de fichiers occupant de l’espace dans le système.
Mais les disques durs prennent beaucoup plus de temps à faire les choses et bénéficient donc considérablement des fichiers copiés et conservés dans des tampons. Et maintenant, cela est ajouté à DirectStorage pour permettre un meilleur niveau de compatibilité avec les disques durs traditionnels.
Théoriquement, cela devrait signifier qu’un développeur pourrait simplement activer DirectStorage, qu’un utilisateur utilise ou non un ancien disque dur, et ne pas perdre de temps à coder dans les sauvegardes héritées pour les systèmes utilisant des supports plus anciens.
Bien que Microsoft s’efforce de souligner qu’il est seul là pour une utilisation avec des disques durs, et qu’il est de la responsabilité du développeur de l’utiliser correctement.
« Il est de la responsabilité du titre de savoir quand utiliser ce paramètre », lit le dernier Dev Blog. « Cette fonctionnalité ne doit être activée que pour les disques durs plus lents qui bénéficieront des fonctionnalités de mise en mémoire tampon des fichiers du système d’exploitation. »
La seule autre fonctionnalité ajoutée à la version 1.2 est l’API GetCompressionSupport. Il s’agit d’une fonctionnalité purement destinée aux développeurs qui rend DirectStorage un peu plus transparent en termes de différents chemins de compression qu’il utilise, et qu’ils soient sur le GPU ou qu’ils soient retombés sur le CPU.