Les progrès technologiques de ces dernières années ont beau être nombreux, ils sont généralement assez discrets, et techniques. Il en est de même pour l’Agility SDK, dont Microsoft a présenté une preview il y a quelques jours ; cette nouvelle mise à jour de DirectX 12 ajoute une nouvelle fonctionnalité particulièrement utile, mais toutefois limitée par le matériel actuel.
La fonctionnalité de GPU Upload Heaps permettra ainsi au processeur et à la carte graphique d’utiliser la mémoire de cette dernière. Nos machines n’auront plus besoin de copier des informations (souvent lourdes) de l’un à l’autre, ce qui pouvait entraîner des problèmes de performance légers mais persistants. L’idée est tout simplement de répondre à un problème typique des PC : la dépendance à la RAM.
Grosso modo, depuis maintenant quelques années, les consoles de Sony et Microsoft reposent sur la mémoire vidéo, et plus particulièrement la GDDR6. La classique mémoire vive est beaucoup moins efficace au point que certains prédisent, dans un avenir proche, qu’elle n’aura plus vraiment d’utilité ; attention cela dit, puisqu’elle est primordiale aujourd’hui ! Cependant, un problème majeur auquel les joueurs sont actuellement confrontés est le prix croissant des cartes graphiques. Les RTX de Nvidia sont époustouflantes de puissance, mais restent difficilement accessibles pour le consommateur moyen. Ceci est d’autant plus triste que de nouvelles technologies comme le path tracing (dont Cyberpunk 2077 est le héraut) nécessiteront impérativement un tel matériel, qui sera poussé jusque dans ses derniers retranchements.
Cela dit, les calculs toujours plus demandeurs des jeux modernes ont bel et bien besoin d’un processeur puissant, ce qui est souvent oublié. L’Agility SDK s’inscrit dans la logique de l’APU (« accelerated processing unit« , ou « unité de calcul accéléré), qui vise à donner un maximum de puissance à nos CPU – c’est une description assez simpliste, mais globalement fidèle. Encore une fois, si l’idée est excellente sur le papier, elle dépend surtout des prix actuels – et à venir ! – des cartes graphiques.
Microsoft avait déjà capitalisé sur l’utilisation de la VRAM avec la technologie resizable-BAR (« base address register »), et AMD avait quelque chose de similaire grâce à la fonction Smart Access Memory. Il reviendra donc aux constructeurs de périphériques d’utiliser avec intelligence la fonctionnalité de GPU Upload Heaps, particulièrement au niveau des drivers. Mais est-ce que ça sera suffisant pour apporter des performances notables ? Pas vraiment, en tout cas pas pour l’instant.
Pour caricaturer, l’Agility SDK et DirectX 12 sont des outils donnés aux développeurs de jeux pour faciliter la production de leur produit. Pourquoi programmer quelque chose pour des centaines de GPU différents quand une API (OpenGL, Vulkan ou encore DirectX) peut se charger de la traduction ? Ces dernières années, le coût de développement d’un moteur graphique a largement augmenté ; or ceux-ci ne se changent pas aussi facilement qu’une chemise, et demandent énormément de travail. Depuis la sortie de DirectX 12 il y a presque huit ans, rares sont les studios à avoir pleinement exploité la puissance de cet API. La grande majorité des jeux compatibles n’utilisent en réalité que quelques-unes de ses fonctionnalités, entraînant ainsi des performances moindres – ce qui est ironique, puisque DirectX 12 est théoriquement capable d’améliorer toutes les performances !
In fine, il faudra encore attendre plusieurs années avant que les développeurs de jeux vidéo intègrent des technologies comme celles offertes par l’Agility SDK, et cela se fera de manière progressive. Cependant, d’un point de vue consommateur, cela permettra d’accompagner en douceur les graphismes toujours plus demandeurs des jeux, ce qui est une plutôt bonne chose.