Présentation de l'API DirectStorage
DirectStorage est une API qui va améliorer deux aspects principaux : elle va réduire les temps de chargement frustrants du passé et permettre aux jeux d'être plus détaillés et plus étendus que jamais. DirectStorage sera pris en charge sur les systèmes équipés de lecteurs NVMe et aidera à faire passer votre expérience de jeu à un niveau très élevé. Sur les systèmes non compatibles NVMe, les jeux continueront à fonctionner aussi bien comme d’habitude.
Microsoft cherche de plus en plus des méthodes pour améliorer les performances des jeux sous Windows 10. Pour ce faire, l’entreprise met en œuvre une partie de l'architecture Velocity utilisée par la Xbox Series X en apportant l'API DirectStorage sur Windows 10 pour aider à surmonter les goulots d'étranglement de la bande passante des systèmes de stockage NVMe. En effet, les technologies NVMe permettent actuellement aux PC de jeu d’avoir une solution de stockage offrant une bande passante bien plus large que ce qui était possible avec les anciennes technologies.
Au lieu de dizaines de mégaoctets par seconde, les disques comme le NVMe personnalisé de la prochaine console Xbox Series X sont capables de fournir une vitesse fulgurante de plusieurs gigaoctets par seconde. La firme a expliqué que les charges de travail des jeux ont elles aussi évolué. Les jeux modernes chargent beaucoup plus de données que les anciens et sont plus intelligents quant à la manière dont ils chargent ces données. Au lieu de charger de gros morceaux à la fois avec moins de demandes d'E/S, les jeux actuels divisent les éléments en morceaux plus petits.
De plus, ils ne chargent que les morceaux nécessaires au rendu de la scène en cours. Cette approche est beaucoup plus efficace en termes de mémoire et permet d'obtenir des scènes plus belles, même si elle génère beaucoup plus de demandes d'entrée/sortie. Malheureusement, Microsoft estime que les API de stockage actuelles n'ont pas été optimisées pour ce nombre élevé de requêtes d'entrée/sortie, ce qui les empêche d'évoluer vers ces bandes passantes NVMe plus élevées, créant ainsi des goulots d'étranglement qui limitent les possibilités des jeux.
Même avec un matériel PC ultrarapide et un lecteur NVMe, les jeux se basant sur les API existantes ne pourront pas saturer complètement le pipeline d'E/S, ce qui laissera une précieuse bande passante sur la table. Il faut donc une nouvelle approche pour tirer le maximum des systèmes de stockage NVMe. Selon l’entreprise, c’est là qu’intervient l’API DirectStorage pour PC. Cette API est la réponse à l'évolution du paysage du stockage et des E/S dans les jeux sur PC.
Les utilisateurs Windows 10 bénéficieront également de cette API, bien qu'avec une expérience moindre que celle de Windows 11
Toute personne qui choisit de passer à Windows 11 bénéficiera d'une meilleure expérience DirectStorage. Une implémentation de pile de stockage plus ancienne sera utilisée dans Windows 10, ce qui signifie que les utilisateurs de Windows 11 bénéficieront d'une meilleure expérience de jeu.
Dans un billet de blog sur DirectStorage, la société explique*: « À la fin de l'année dernière, nous avons annoncé que nous apporterions DirectStorage aux PC Windows, et en juin, nous avons expliqué au monde entier comment DirectStorage améliorerait l'expérience de jeu sur Windows 11. Depuis lors, l'équipe DirectX a travaillé dur pour apporter cet état – une technologie de pointe de l'architecture Velocity de Xbox à Windows, permettant aux développeurs de jeux sur les deux plateformes de créer de nouvelles expériences de jeu immersives avec un temps de chargement considérablement réduit ».
Et d'indiquer que « Microsoft s'engage à s'assurer que lorsque les développeurs de jeux adoptent une nouvelle API, ils peuvent atteindre autant de joueurs que possible. En tant que tels, les jeux construits avec le SDK DirectStorage seront compatibles avec Windows 10, version 1909 et versions ultérieures ; le même que le SDK DirectX 12 Agility ».
Microsoft explique ensuite que les fonctionnalités de DirectStorage peuvent être divisées en plusieurs parties, notamment*:
- Le nouveau modèle de programmation d'API DirectStorage qui fournit un modèle d'appel submission/completion par lots de style DX12, soulageant les applications de la nécessité de gérer individuellement des milliers de demandes d'E/S/ requests/completion par seconde
- Décompression GPU fournissant une décompression ultrarapide des actifs pour le temps de chargement et les scénarios de streaming (à venir dans un aperçu ultérieur)
- Optimisations de la pile de stockage*: sur Windows 11, il s'agit d'une pile de stockage du système d'exploitation mise à niveau qui libère tout le potentiel de DirectStorage, et sur Windows 10, les jeux bénéficieront toujours de l'utilisation plus efficace de la pile de stockage du système d'exploitation héritée.
« Cela signifie que tout jeu construit sur DirectStorage bénéficiera du nouveau modèle de programmation et de la technologie de décompression GPU sur Windows 10, version 1909 et versions ultérieures. De plus, étant donné que Windows 11 a été conçu avec DirectStorage à l'esprit, les jeux fonctionnant sous Windows 11 bénéficient davantage de nouvelles optimisations de la pile de stockage. L'implémentation de l'exécution de l'API et la technologie de décompression GPU sont fournies via le SDK DirectStorage et sont livrées avec votre jeu. En tant que développeur de jeux, vous n'avez besoin d'implémenter DirectStorage qu'une seule fois dans votre moteur, et tous les avantages applicables seront automatiquement appliqués et mis à l'échelle de manière appropriée pour les joueurs.
« En fait, cette grande compatibilité s'étend également à une variété de configurations matérielles différentes. Les jeux compatibles DirectStorage fonctionneront toujours aussi bien qu'ils l'ont toujours fait, même sur des PC dotés d'un matériel de stockage plus ancien (par exemple, des disques durs) ».
Cette déclaration accompagne le lancement par Microsoft d'un programme de prévisualisation DirectStorage qui permettra aux développeurs de commencer immédiatement à tester cette fonctionnalité dans un logiciel 3D intensif. L'API, entre autres, redirige les appels d'E/S pour les ressources graphiques 3D directement vers le GPU d'un ordinateur.
Il reste à voir à quel point il y aura une différence notable de performances entre les jeux sous Windows 10 et ceux sous Windows 11.
Source : Microsoft