Microsoft prévoit de présenter en détail ce que nous pensions être une technologie de mise à l’échelle le 21 mars prochain. Avant cette échéance, et afin d’éviter toute confusion, Microsoft a apporté quelques précisions par le biais d’un article de blog.
La société y précise que le DirectSR n’est nullement une techno visant à supplanter celles existantes. Au contraire, il s’agit en fait d’une API pour DirectX qui doit servir à normaliser leur intégration.
Commençons par un résumé de la situation actuelle en matière de SR. De nos jours, les trois mastodontes que ce sont NVIDIA, AMD et Intel proposent tous leur propre technologie de mise à l’échelle.
NVIDIA a dégainé la première, en 2018, avec son DLSS, à l’occasion du déploiement des GPU sous architecture Turing (GeForce RTX 20 Series). Particularité du Deep Learning Super Sampling : accéléré par l’IA, il est exclusif aux cartes graphiques GeForce dotées de cœurs Tensor. Le DLSS 2.0 a vu le jour en 2020. Deux ans plus tard, le DLSS 3 a accompagné la commercialisation des GeForce RTX 40 Series sous architecture Ada Lovelace et amorcé la guerre de la Frame Generation. Officiellement, nous en sommes au DLSS 3.5, version qui a intégré la ray reconstruction.
AMD avait répliqué en juin 2021 avec son FidelityFX Super Resolution 1.0 (FSR). Le FSR 2.0 a suivi l’année suivante. Le FSR 3.0 est arrivé en 2023, mais son implémentation reste encore assez marginale. Contrairement au DLSS de NVIDIA, le FSR n’a aucune trace d’IA ; open-source, la technologie est supportée par un large panel de cartes graphiques ; pas exclusivement celles d’AMD.
Enfin, en 2022, Intel s’est lancée à son tour dans la mêlée avec le XeSS, sigle de Xe Super Sampling. C’est une technologie à mi-chemin entre celle d’AMD et de NVIDIA : elle est universelle comme la première, mais exploite un matériel de machine learning dédié et des algorithmes d'IA pleinement exploités par les cœurs XMX (Xe Matrix eXtensions) des GPU Arc Alchemist.
C’est là que le DirectSR entre en jeu. De plus amples informations seront communiquées à l’occasion de la GDC 2024 (Game Developers Conference) qui se déroula du 18 mars au 23 mars. Mais en l’état, Microsoft présente son API comme le fruit d’une collaboration entre les différents acteurs du secteur (les trois susmentionnés) qui va permettre de faciliter l’intégration des différentes technologies de mise à l’échelle temporelle dans les jeux. Il est ainsi question « de réaliser des SR multi-fournisseurs grâce à un ensemble commun d'entrées et de sorties, permettant
d'activer une variété de solutions telles que NVIDIA DLSS Super Resolution, AMD FidelityFX Super Resolution, et Intel XeSS via un seul cheminement de code ».
Autre évolution à venir : Directx12 Work Graphs > supprimer le Bottleneck et augmenter les fps via une "liberté arithmétique" entre CPU et GPU.
C'est le problème de DirectX, c'est pas open-source et lié à un seul OS (la xbox tournant sur un kernel windows modifié).
Un jeu qui se doit d'être multiplateforme, qui se doit de tourner sur PS5, sera rarement en directX 12 ailleurs.
Donc toutes ces innovations, on peut les voir surement dans Fable, dans les futurs Bethesda peut-être mais c'est dommage, c'est très restreint
Actuellement quand un développeur veut supporter ces différentes techno il doit fournir ces mêmes info ("dans quel sens va un objet", "à quelle vitesse" etc) de 3 façon différentes pour chaque constructeur ...
DirectSR va juste permettre de normaliser une base commune d'info requises et optionnelles que le développeur fournira 1 seule fois dans un format propre à DirectSR. Ensuite ce sont les drivers de chaque carte graphique de chaque constructeur qui recouperont ces données pour les fournir à leur implémentation spécifique (DLSS, XeSS, FSR).
Et si demain Nvidia a besoin d'une info supplémentaire qui n'etait pas prévu dans le DirectSR actuel, Nvidia peut toujours demander au développeur de la fournir manuellement comme pour le DLSS actuel ...
Et si demain AMD et Intel se rendent compte que cette info est en effet utile, bah ils s'accorderont tous les 3 et demanderons à Microsoft de faire évoluer la norme avec DirectSR 1.1 ..
En gros ca ne bride pas l'évolution et ca simplifie le taff des développeurs de jeu ..
oui mais ça rompt le principe d'avoir "un code pour tous" t'as chaque api qui a son implémentation et le code qui va avec, avec son lot de bugs et de bon côté etc
au final ça augmente la complexité du boulot avec des développements déjà très long de bases et chaque personne doit intégrer DX12 et ses features exclusives, Vulkan/openGL, les features Nvidia, les features AMD...