DLSS, FSR, XeSS, et maintenant MetalFX, mais qu’est-ce donc ?
Nous avons posé la question à NVIDIA, ils nous ont éclairés en Ray Tracing
Le 07 novembre 2023 à 11h22
10 min
Logiciel
Logiciel
Alors que le DLSS 3.5 fait parler de lui sur la sortie miraculeuse du Cyberpunk 2077 2.0 (= 4154 ?), qu’AMD rattrape son retard avec le FSR 3.0, qu’Intel confirme être dans la course avec son XeSS, Apple prend pour cible ces constructeurs avec une balle chemisée métal, MetalFX pour être plus précis. On termine avec une interview de Stéphane Quentin de NVIDIA.
Intéressons-nous d’abord à la face émergée de l’iceberg ; qu’est-ce que le Super Sampling ? Si vous êtes un tant soit peu « gameur » vous avez entendu parler de ces technologies capables de donner un coup de turbo au nombre d’images par seconde affichées dans un jeu.
Pour arriver à un tel miracle, les cartes graphiques calculent le rendu dans une définition inférieure, par exemple du 720p, puis par une dose d’intelligence artificielle, d’algorithmes et (pour certaines) de transistors, affichent du 1080p, 2K ou 4K a priori sans altérer la qualité graphique. C’est en quelque sorte l’upscaling de votre téléviseur, mais appliqué à une image calculée en temps réel, ce qui est un brin plus velu.
Voilà pour les généralités, passons maintenant aux cas individuels.
Le Deep Learning Super Sampling au secours du Ray tracing
Avec la série des RTX 2000 sortie en 2018, NVIDIA introduit le Ray Tracing. Cette technologie de calcul de la lumière en temps réel impressionne, mais entame largement le nombre d’images par seconde (le framerate). Le Deep Learning Super Sampling sorti peu après (quel heureux hasard) atténue ce défaut, mais n’est pas encore au point visuellement dans sa version 1.0. L’IA s’améliore avec le temps jusqu’à faire une avancée notable avec la Série 4000 et le DLSS 3.0.
Ces cartes apportent le frame generation, donc de la génération d’images par interpolation afin de rehausser encore le framerate. Cette technologie est toutefois inaccessible aux séries 3000 et antérieures, car le OFA (Optical Flow Accelerator), donc les unités vérifiant la cohérence de l’image, ne sont pas en nombre suffisant sur les cartes.
Ces images générées par l’IA créent aussi une latence en grande partie compensée par le système Reflex. En passant au DLSS 3.5, NVIDIA sort un as de sa manche, et cette fois les précédentes générations de cartes sont de la partie : le Ray Reconstruction. Une photo valant mieux qu’un long discours, vous constatez ci-dessous la finesse des détails et le gain de vitesse dus au RR. Il s’agit d’une capture officielle du constructeur, mais cette vidéo de Digital Foundry valide le bond que vient de faire NVIDIA en matière de qualité de rendu.
AMD répond avec Fidelity FX Resolution, Intel avec Xe Super Sampling
L’explication des technologies suivantes s’annonce plus brève, car elles visent peu ou prou les mêmes résultats. Le Fidelity FX Resolution ou FSR d’AMD est la réponse du berger à la bergère. Cette solution de mise à l’échelle est uniquement logicielle, contrairement à celle de NVIDIA (nous y revenons dans l’interview ci-dessous), mais a le mérite d’être open source et compatible avec toutes les cartes graphiques.
Si les débuts provoquaient quelques artefacts ou aberrations, AMD a amélioré son algorithme jusqu’à enrichir sa version 3.0, sortie récemment, du Fluid Motion Frames, l’équivalent du Frame Generation, ainsi que de l’anti-lag afin de compenser la latence.
Le Xe Super Sampling d’Intel se rapproche du DLSS, car il utilise à la fois l’accélération matérielle et un algorithme. Il se montre déjà convaincant, mais cet outsider doit mener plusieurs batailles de front : s’imposer sur un marché autrefois réservé à NVIDIA et AMD, ainsi qu’augmenter son catalogue de jeux compatibles. En effet, quelle que soit la technologie, y avoir recours est un choix propre aux développeurs.
C’est pour cette raison que DLSS, FSR et XeSS peuvent se retrouver dans un même titre s’il a été décidé d’implémenter les trois. À vous le bonheur de passer du temps dans les menus pour observer à la loupe le résultat le plus adapté à votre configuration. Un temps qui ne sera pas perdu. Le DLSS à une longueur d’avance sur la finesse des textures, mais le FSR et l’intel XeSS ne déméritent pas, autant sur le rendu que sur le framerate.
Notez au passage que le recours à ces technologies n’a rien d’obligatoire, la majorité des jeux s’en passent et ne sont pas moches pour autant. Mais le Ray Reconstruction et l’arrivée de nouveaux moteurs graphiques rebattent les cartes et annoncent de belles batailles entre ces trois géants.
Apple entre dans la danse avec MetalFX
Trois ? N’avons-nous pas oublié une multinationale un brin imposante qui débarque sur ce marché avec la finesse d’un éléphant dans un magasin de porcelaine ? Lors de sa keynote WWDC 2022, Apple a dévoilé une technologie de mise à l’échelle nommée MetalFX, susceptible de rivaliser avec celle de NVIDIA et Cie grâce à son A17 pro. Engoncée dans son autosatisfaction, la firme à la pomme se voit déjà au coude à coude avec la PlayStation 5.
Certes les puces présentées chaque année affolent les benchmarks et nul doute qu’Apple est capable de telles prouesses, mais le catalogue de la pomme se réduit à Assassin’s Creed Mirage, Resident Evil Village (Capcom vient d’annoncer Resident Evil 4 pour le 20 décembre sur iOS), et The Division Resurgence pour des périphériques qui ne garantissent pas la meilleure jouabilité. Il faudra alors les connecter à un écran plus grand, mais ça, c’est une autre histoire que nous n’allons pas aborder dans ce texte bien plus long que ce qui était prévu initialement.
Envisageons maintenant l’avenir avec Stéphane Quentin, connaisseur passionné et passionnant des GPU et chargé de la communication chez NVIDIA depuis près de 20 ans, un « détail » à garder en tête à la lecture de cet entretien.
Le DLSS combine software et hardware, pouvez-vous nous refaire un point sur le sujet ?
Bien sûr. Nous avons entrainé sur nos data centers un réseau neuronal pour que l’inférence, donc le programme déployé en local sur votre machine, exploite ces données. Mais pour cela elle utilise une partie hardware de nos cartes graphiques : les Tensor Cores. En continuant à entrainer ce réseau de neurones, on l’améliore, on le met à jour vers des versions supérieures, et on lui ajoute des fonctions.
Aujourd’hui, avec une technologie comme le Ray Tracing ou mieux encore, le Path Tracing, donc l’accumulation des effets Ray Tracing, la charge graphique est telle que la puissance brute des cartes ne suffit plus sans le support du réseau neuronal, donc le DLSS. On arrive aujourd’hui avec le DLSS 3.5 et le Ray Reconstruction à obtenir des images reconstituées avec de l’IA aussi belle, voir supérieure, à un rendu brut.
God Of War, Horizon Forbidden West (etc.), sont superbes et sont architecturés autour de cartes AMD, avec, au mieux, du FSR.
Ces jeux sont magnifiques parce qu’ils sont élaborés par de grandes équipes de développeurs talentueux capables d’utiliser tout le potentiel des anciens moteurs. Un coût faramineux pour obtenir de superbes lumières et des textures qui ne le sont pas moins.
C’est donc une question de direction artistique, mais aussi de moyens. On rentre désormais dans une nouvelle génération de moteur avec par exemple l’Unreal Engine 5, ou le Northlight Engine d’Alan Wake 2 incluant le path tracing. Ce travail de la lumière et des textures est rendu beaucoup plus accessible. À partir d’un bon matériau de base, car on ne fournit jamais que des outils, on peut avoir un résultat stupéfiant pour beaucoup moins d’investissement en temps et en argent.
Le développement de jeu vidéo va-t-il s’envisager autrement ?
En effet, le pipeline de rendu va s’en trouver bouleversé. Pour information, quand vous jouez à Cyberpunk en DLSS 3.5, quasiment 80 % des pixels sont générés par l’IA. Ainsi, le moteur du jeu utilise toujours les CUDA cores, donc l’architecture classique pour calculer l’image en 720p ou 1080p, mais les unités d’IA travaillent en parallèle pour à la fois la fluidité et le rendu d’image.
La conception même des cartes graphiques change en conséquence, les Tensor Cores prennent davantage d’importance.
En effet, sur les séries 40, la principale augmentation en termes de transistor est sur les Tensor Core. Le Neural rendering est l’élément clé qui va être le plus important dans le futur. D’autant que l’on va sortir du cadre du jeu. L’IA de votre PC ou celle installée en local dans les softs, comme Copilot présenté récemment par Microsoft, puisera des ressources dans les Tensor Cores.
Ce regain de puissance nous a valu une flambée de l’étiquette de prix, il faut s’attendre à cela pour la génération suivante ?
Aujourd’hui, nous avons 16 fois plus d’opérations par pixels sur un Cyberpunk en path tracing que sur le Battlefield de 2018. Si on s’était focalisé sur les anciennes technologies de rendu, le prix du GPU aurait été affolant.
Pour la série 3000, nous avions choisi Samsung qui gravait alors en 8 nm, ce qui était inférieur à la compétition et permettait de réduire le prix. Mais sur la 4000 nous avons voulu intégrer 80 milliards de transistors pour présenter les nouvelles technologies dont nous parlons, ce qui n’a pas été possible sans une hausse de coût.
Quel sera le prix de la 5000, je ne le sais pas. Est-ce que l’on passera en 3 nm ? Quel sera le coût de ses wafers ? Pour l’instant, je n’en sais rien.
Revenons au présent et par exemple Starfield, sorti uniquement compatible avec le FSR, au grand dam de la communauté PC qui l’a rapidement intégré via un hack. C’est une opération si peu compliquée ?
C’est un peu plus dur qu’un simple copié collé de DLL, mais oui, ce n’est pas bien compliqué, surtout que nous avons un outil dédié à cela et un autre qui peut même intégrer le DLSS, FSR et XeSS. Il n’y a donc aucune raison technologique pour qu’un jeu privilégie un système plus qu’un autre.
J’ai bien dit « technologique »… Ça a d’ailleurs été le débat sur Starfield, puisqu’il n’y avait pas de raison d’écarter notre système. Nous avons une avance qui s’explique simplement par le fait que nous entrainons l’IA depuis plus longtemps, donc on lèse les joueurs en ne la proposant pas.
Dans l’univers console, seul Nintendo utilise NVIDIA sur une puce qui date de Mathusalem. Même si Big N ne se bat pas sur le terrain technologique, il vous observe pour la Switch 2. Des infos à ce sujet ?
Bien essayé, mais no comment !
DLSS, FSR, XeSS, et maintenant MetalFX, mais qu’est-ce donc ?
-
Le Deep Learning Super Sampling au secours du Ray tracing
-
AMD répond avec Fidelity FX Resolution, Intel avec Xe Super Sampling
-
Apple entre dans la danse avec MetalFX
-
Le DLSS combine software et hardware, pouvez-vous nous refaire un point sur le sujet ?
-
God Of War, Horizon Forbidden West (etc.), sont superbes et sont architecturés autour de cartes AMD, avec, au mieux, du FSR.
-
Le développement de jeu vidéo va-t-il s’envisager autrement ?
-
La conception même des cartes graphiques change en conséquence, les Tensor Cores prennent davantage d’importance.
-
Ce regain de puissance nous a valu une flambée de l’étiquette de prix, il faut s’attendre à cela pour la génération suivante ?
-
Revenons au présent et par exemple Starfield, sorti uniquement compatible avec le FSR, au grand dam de la communauté PC qui l’a rapidement intégré via un hack. C’est une opération si peu compliquée ?
-
Dans l’univers console, seul Nintendo utilise NVIDIA sur une puce qui date de Mathusalem. Même si Big N ne se bat pas sur le terrain technologique, il vous observe pour la Switch 2. Des infos à ce sujet ?
Commentaires (22)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 07/11/2023 à 12h49
J’ai déjà testé DLLS et FSR mais les réglages dans les jeux sont opaques avec des résultats pas toujours au top comme des artefacts sur DLSS et du flou sur FSR et une latence très désagréable sur les deux techno.
De plus on a aucune idée de la résolution native utilisée lorsque l’on choisi parmi les différentes qualité. (quand je met en 4k, je ne sais pas si la résolution d’origine est du 2k, 1080, 720 ou autre…) Je préfère baisser les réglage ou la résolution et je n’utilise ces options qu’en dernier recours si ma machine ne suis pas avec un nombre correct de fps.
Le 07/11/2023 à 15h06
Il y a ça et là des tableaux de récap pour savoir quelle est la résolution d’entrée et de sortie en fonction du paramètre utilisé (Qualiy, Balanced, Performance, Ultra performance)
Par exemple (FSR 2.0) : (http://https://b2c-contenthub.com/wp-content/uploads/2023/10/Die-unterschiedlichen-Upscaling-Stufen-Presets-von-AMD-FSR.png?w=1200)
En gros tu as quelque chose comme ça (FSR et DLSS je crois) :
Quality preset[a] Scale factor[b] Render scale[c]
Quality 1.50x 66.7%
Balanced 1.70x 58.8%
Performance 2.00x 50.0%
Ultra Performance since 3.00x 33.3%
Edit : désolé pour le rendu, les commentaires, c’est pas fait pour les tableaux…
Le 08/11/2023 à 05h58
Merci, j’avais cherché ce genre d’info sans succès il y a quelque temps.
Le 07/11/2023 à 15h25
En fait tu peux connaître la résolution utilisée par le FSR. Amd donne des recommandations pour les différents niveau de FSR. Par exemple FSR Qualité c’est 75% de la résolution de départ.
Après les devs peuvent choisir autre chose.
Les jeux ajoutent parfois une ligne dans les options pour choisir le % de la résolution du FSR au lieu de proposer les différents modes Qualité, Balance, Performance ou Ultra performance. Dans ce cas là c’est toi qui choisit combien de % de la résolution de départ le FSR prend.
Grillé . Tu as les infos sur un blog d’Amd pour les %
Le 07/11/2023 à 19h47
Avec DLSS 2, j’avais des artefacts aussi sur cyberpunk en mode équilibré, notamment sur les lumières assez loin, en revanche en DLSS 3 avec le Path tracing c’est juste parfait ^^
Le 07/11/2023 à 13h48
AMD a du retard sur les cartes graphiques et leur possibilité. Le Ray Tracing, le path finding, c’est pour NVidia. J’ai vu une vidéo de comparaison sur le net entre Raster, RayTracing et Path Finding. Il y a globalement du mieux visuellement pour le path finding, mais pour les performances, c’est NVIDIA le gagnant. Intel est hors jeu.
Le 07/11/2023 à 16h50
AMD, c’est un bon rapport qualité-prix sur du rendu “traditionnel”. Ils ont mis quelques unités pour faire du ray-tracing/path finding, j’ai cru voir un truc équivalent au Tensor Core, mais juste pour la forme. A coté, NVidia, entre les RT core et les Tensor Core, ça bouffe de la place sur la puce (a priori, ça donne ça https://developer.nvidia.com/blog/nvidia-turing-architecture-in-depth/ et en détail sur un SM : https://developer-blogs.nvidia.com/wp-content/uploads/2018/09/image11.jpg ).
Le 07/11/2023 à 15h00
Je ne comprends pas comment ils sortent encore leurs images marketing truquées, chez moi en Local et sur Geforce Now, la différence de qualité est bien visible entre du natif / DLAA et le DLSS en qualité pour du 1440p.
Le 07/11/2023 à 16h43
Dommage pour l’exclusivité que vous avez manqué sur la Nintendo Switch
Le 07/11/2023 à 19h45
A une époque (fin 90), S3 travaillait sur des pilotes avec un changement de résolution dynamique si le framerate était trop lent.
Bon, chez eux, c’était encore pus buggué avec ça (leur cartes/pilotes avaient tendanc eà ne pas afficher toujours la bonne texture :) )
Les FSR et autres m’y ont fait penser.
Mais ça me fait penser à autre chose: le jeu en streaming. On peut peut-être faire le rendu et compresser en “basse” réso et passer le FSR côté client?
Le 07/11/2023 à 21h39
Ils devraient améliorer leur rapport perf/watt et les dev améliorer leurs optimisations. Ca ferait du bien à tout le monde et ça éviterait ces technos moisies. L’apprentissage coûte une fortune (à minima en énergie) et ça consomme aussi en local lors du rendu. Aucun intérêt.
Le 08/11/2023 à 09h04
Détrompe-toi. Je ne saurais dire pour le côté apprentissage chez Nvidia, mais du côté des utilisateurs, DLSS permet bien une économie d’énergie.
Un ami, très concerné par ces aspects en a fait l’expérience avec un wattmètre. Je n’ai plus les chiffres exacts en tête, mais la consommation de courant en DLSS est bien moindre que sans. Moins de consommation est aussi synonyme de moins de nuisances sonores de la part du GPU, c’est donc tout bénef !
Le 08/11/2023 à 12h18
Très intéressant comme retour d’expérience sur la conso avec DLSS, merci !
Le 08/11/2023 à 13h46
Je pourrais lui demander des chiffres plus précis, mais dans son cas, le choix était vite fait. Depuis, il est vraiment fan de cette solution. Qui plus est, d’une qualité graphique tout à fait respectable. On est loin de l’upscale parfois dégueulasse de certains DVD sur une TV 4K
Le 08/11/2023 à 13h05
Mon intuition ne vaut pas l’expérience, je m’attendais bien à un résultat dans le genre.
En effet, le but de ce genre de solution, c’est d’optimiser les ressources. L’idée derrière un supersampling, c’est que rendre une image en full résolution, c’est très couteux par rapport à faire un rendu à 66% (voir moins) et exécuter une solution d’upscaling de l’image sans altérer de trop l’expérience.
Maintenant, si tu passes de 12FPS à 60FPS comme @FraGG, tu peux potentiellement avoir plus de ressources utilisées (les tensor core qui n’étaient pas utilisés) cependant, tu peux libérer de la ressource (si les tensor core ou le Frame Rate deviennent limitants et le reste du pipeline graphique traditionnel se tournent les pouces une partie du temps). Mais dans tous les cas, tu seras surement plus performant qu’un rendu natif à 60FPS (qui demanderait 5 fois la puissance initiale, soit, en faisant l’hypothèse d’une relation linéaire entre puissance et consommation, 5 fois plus de consommation).
Le 08/11/2023 à 15h19
Mais qu’elle serait la consommation si les constructeurs se focalisaient plus sur l’optimisation (de l’archi, des drivers etc…) et si les devs aussi passaient plus de temps à optimiser plutôt qu’à se reposer sur le DLSS pour (plus ou moins artificiellement) augmenter les perfs ?
Le 08/11/2023 à 15h23
Je suis assez d’accord, mais mécaniquement, il est logique que plus les jeux deviennent beaux, riches, plus ils consomment.
Prenons l’exemple d’Alan Wake 2 : il est très gourmand, pas tant parce qu’il est mal optimisé, mais parce qu’il utilise des technologies (très) gourmandes en ressources : Mesh Shading et Path Tracing, en particulier.
Contre-exemple : Cities Skylines 2. Très gourmand en particulier parce qu’il est très mal optimisé et les développeurs ont déjà annoncé qu’ils allaient sérieusement s’atteler à la tâche.
Maintenant, imaginons que les développeurs sortent des jeux super optimisés, le DLSS n’en perdrait pas moins d’intérêt : avoir une définition/fréquence d’images supérieure avec moins de ressources utilisées
Le 08/11/2023 à 05h57
En tout cas la Frame Generation c’est bluffant… Quand on tourne à 12fps dans certains endroit sans dans Alan Wake 2 et qu’on l’active et qu’on monte à 60fps ça tiens de la magie !
Le 08/11/2023 à 16h23
Je serais curieux de voir ce que tu propose comme optimisation. A mon avis, la plupart des jeux sont déjà bien optimisés, peut-être pas “à fond”, mais s’ils le faisaient “à fond” pour chaque architecture et type de config, les jeux ne coûteraient pas le même prix…
Et maintenant mon exemple: et si on streamait à 30 FPS pour sortir du 60, on gagnerait énormément en débit pour streamer des jeux… Je pense qu’au-delà de ce qu’on voit actuellement, le jeu en streaming est une application à venir pour ces algos.
Et que celui qui fera l’algo le plus intéressant/applicable remportera un futur marché: celui des cartes graphiques côté serveur, des serveurs de jeux chez les FAI, et des royalties dans les TV et box des FAI…
Le 10/11/2023 à 17h45
Ca commence vraiment à devenir laçant (et agaçant) d’entendre sans arrêt dire que le problème provient d’un manque d’optimisation.
Je suis développeur depuis bientôt 20 ans, qui plus est dans le monde embarqué avec des ressources assez faibles, et il faut arrêter de croire que l’optimisation est la solution à tous les problèmes.
Un logiciel, correctement conçu, avec des ingés qui connaissent leur travail, sans pour autant être des Einstein, produisent déjà un code de bonne qualité. Et une forte optimisation ne fera gagner que quelques % de performances (et c’est souvent le jeu des vases communicants : j’optimise la consommation CPU, mais c’est la consommation mémoire qui augmente).
Il faut sérieusement arrêter de croire que le code c’est de la magie, et que par un petit tour d’optimisation on divise par 2 la consommation de ressources.
A partir du moment où une fonctionnalité est rajoutée à un soft, peut importe le niveau d’optimisation du code, il en coutera forcément des performances.
Comme disait un vieux prof que j’avais à la fac “l’instruction la plus rapide est celle qui n’existe pas”.
Et oui rajouter des fonctions, de la qualité graphiques, etc, ça a un cout côté performance.
Le 11/11/2023 à 08h44
Alors moi ça fait 15 ans que je suis développeur, mais pas dans l’embarqué. Ben la plupart du code que j’ai vu, je peux te dire qu’il est vraiment pas optimisé. Ni dans l’algorithmique, ni dans l’architecture.
Regarde ce que Microsoft à fait comme bond entre .NET 4.8 et .NET 6. Et entre .NET 6 et .NET 8. Des gains, il y en a, c’est pas quelques %, des fois c’est plus de 50%.
Le 11/11/2023 à 11h17
Je suis dev embarqué depuis près de 20 ans également et je confirme que dans ce domaine, on a plus qu’intérêts de faire de code optimisé de base.
Je te rejoins sur ce point pour faire également du Back/Front-End depuis un moment et j’ai souvenir de codes abominables fait avec les pieds qu’il fallait reprendre intégralement
Par contre j’ai l’impression que ces devs du dimanche ont basculé dans le dev mobile Quand on voit de plus en plus d’apps mobiles bogguées sans compter les mises à jours à répétitions sans évolutions ce qui devient tellement la norme que les users pensent que si ce n’est pas le cas c’est que c’est une app de me*de…
Par contre l’excuse des maj pour corrections des failles de sécurités, ça a le dos large