Qu’est-ce que Microsoft DirectStorage? Comment rend-il le jeu plus rapide?
Dans le passé, les jeux n'étaient pas trop complexes. Les niveaux jouables étaient plutôt petits, les personnages étaient peu nombreux et les textures étaient simples. Au fil des ans, les jeux se sont améliorés de façon exponentielle. Des mondes ouverts massifs aux personnages très détaillés, les jeux peuvent souvent sembler photoréalistes.
Mais toute cette innovation a un coût.
Les jeux modernes ont besoin de dizaines de gigaoctets de données pour rendre ces beaux personnages et environnements. Mais certains outils utilisés par les développeurs de jeux n'étaient pas conçus pour gérer une telle quantité de données, créant un goulot d'étranglement en termes de performances.
C'est là qu'intervient Microsoft DirectStorage.
Pourquoi avons-nous besoin de Microsoft DirectStorage?
Avant de discuter de DirectStorage, voyons comment fonctionnent les méthodes actuelles de streaming de données.
Lorsque vous lancez un jeu, il a besoin de données telles que les textures, les modèles de personnages et l'audio pour vous présenter à l'écran. Ces données sont stockées sur un périphérique de stockage comme un disque dur. Le jeu demande ces données via des outils logiciels connus sous le nom d'interfaces de programmation d'application (API).
Une fois que le jeu a demandé les données via une API, il récupère les données du périphérique de stockage et les place dans la RAM système avant de les transmettre au GPU pour le rendu.
Lorsque vous téléchargez un jeu, toutes les données sont compressées pour économiser autant de stockage que possible. Mais les GPU ne peuvent pas utiliser de données compressées. Par conséquent, il doit être décompressé.
Donc, une fois que les données sont dans la RAM, elles vont au CPU pour la décompression.
Après décompression, les données demandées par le jeu sont copiées dans la VRAM du GPU.
Enfin, le GPU rend ces données dans de superbes graphiques que nous voyons à l'écran.
Or, cette méthode de streaming présente deux inconvénients majeurs.
Premièrement, la décompression des données prend beaucoup de temps. Non seulement cela entraîne une augmentation des temps de chargement du jeu, mais cela rend également le processeur indisponible pour d'autres tâches. Et comme le processeur est la plupart du temps rattrapé par la décompression, il ne peut pas répondre aux demandes du GPU, ce qui entraîne des fréquences d'images plus faibles.
Deuxièmement, les API de stockage existantes ne tirent pas pleinement parti du matériel de stockage moderne. Par exemple, à l'époque, les périphériques de stockage étaient des disques durs mécaniques lents qui n'avaient ni la vitesse ni la bande passante pour envoyer des gigaoctets de données par seconde. Ainsi, les API ont été écrites pour ne diffuser qu'une quantité limitée de données.
Les développeurs qui utilisent ces anciennes API aujourd'hui doivent contourner ce budget de streaming de données limité en utilisant des méthodes telles que la réduction de la complexité de la scène pour minimiser le besoin de beaucoup d'actifs, le rendu uniquement des textures et de l'environnement que le joueur peut voir, et l'augmentation des temps de chargement pour s'assurer qu'ils le jeu a suffisamment de temps pour charger tous les éléments avant de commencer.
Ces méthodes fonctionnent mieux en théorie qu'en pratique. Parce que, même avec les disques de stockage les plus rapides du marché, les jeux ont encore de longs temps de chargement, une texture pop-in et des distances de tirage restreintes.
DirectStorage vise à aider les développeurs à résoudre ces problèmes grâce à un meilleur processus de streaming de données.
Comment fonctionne Microsoft DirectStorage?
Microsoft DirectStorage est un ensemble d'API de stockage qui visent à corriger tout ce qui ne va pas avec les API actuelles.
Lorsqu'un développeur appelle les API DirectStorage pour demander des données au périphérique de stockage, le processus est presque le même avec deux différences majeures.
Tout d'abord, après avoir copié les données dans la RAM, il n'y a pas de routine de décompression du processeur. Les données ne sont pas copiées dans la CPU et décompressées. Contrairement aux anciennes API, les données compressées sont envoyées directement au GPU.
Deuxièmement, les API tirent pleinement parti du matériel SSD NVMe ultra-rapide. DirectStorage a besoin d'un SSD NVMe pour fonctionner, car les SSD NVMe ont une bande passante exponentiellement plus élevée que les disques durs mécaniques. DirectStorage utilise toute la bande passante de ces disques SSD, qui est de l'ordre de Go / s, pour lire un grand nombre de données à la fois. Ceci est différent des API plus anciennes qui lisent les données lentement et dans l'ordre de Mo / s.
Ainsi, le GPU reçoit beaucoup de données compressées à la fois, et il n'a pas à attendre que plus de données arrivent avant le rendu. La seule chose à faire est de décompresser les données pour que le GPU soit rendu.
DirectStorage intègre des techniques de décompression GPU de pointe. Les GPU décompressent les données à un taux beaucoup plus élevé que les CPU. Ils peuvent également soutenir cette décompression à haut débit pendant une longue période, ce qu'un processeur ne peut pas. C'est ce qui fait d'un GPU un candidat de choix pour l'avenir de la décompression des données.
Le déchargement de la décompression sur le GPU libère également le processeur pour gérer d'autres tâches telles que le traitement de l'audio et la préparation des images à afficher.
Comment DirectStorage améliore-t-il les jeux?
Parce que DirectStorage fournit à votre GPU beaucoup de données incroyablement rapidement, il peut révolutionner votre expérience de jeu.
Tout d'abord, si les développeurs construisent leurs jeux avec DirectStorage, les jeux auront des temps de chargement quasi instantanés. Ainsi, vous n'aurez pas à attendre de passer par un long écran de chargement pour accéder à votre jeu préféré.
Deuxièmement, comme DirectStorage libère le processeur pour gérer d'autres tâches, il augmente les performances. En d'autres termes, vous obtiendrez de meilleures fréquences d'images même si vous n'avez pas mis à niveau votre matériel .
Enfin, avec DirectStorage, les jeux auront des mondes plus vastes et complexes avec une pop-in de texture minimale. Cela permettra aux développeurs de créer la prochaine génération de jeux sans retarder leur vision créative en raison de problèmes de diffusion de données.
DirectStorage peut changer le jeu pour de bon si les développeurs le permettent
Microsoft a poussé DirectStorage à fond. Et à juste titre. Les anciennes méthodes de streaming de données sont un point d'étranglement qui retient les jeux.
Si DirectStorage parvient à devenir un standard de l'industrie, le jeu passera dans une nouvelle ère d'immersion.
Si Microsoft peut perfectionner DirectStorage et convaincre les développeurs qu'il vaut la peine d'y investir leur temps, les joueurs peuvent enfin être libérés des ennuis tels que les temps de chargement et les textures.
Alors, espérons que nous verrons le jour où il n'y aura pas de faux ascenseurs, pas d'escaliers interminables et pas de voyage rapide qui prend un million d'années.