NVIDIA : DLSS 2.0 plus rapide et plus précis, de nouveaux outils pour les développeurs

Upscaling pour tous (ou presque) !
NVIDIA : DLSS 2.0 plus rapide et plus précis, de nouveaux outils pour les développeurs

Le DLSS de NVIDIA passe la seconde. Il s'affranchit de nombreuses de ses limites tout en promettant une meilleure qualité d'image et surtout des performances toujours largement améliorées. Dans le même temps, le constructeur renforce ses outils à destination des développeurs.

Avec son architecture Turing, NVIDIA a introduit deux nouveaux types d'unités au sein de ses GPU grand public : le RT Cores afin d'accélérer le traitement du ray tracing et les Tensor Cores.

Ces dernières sont spécialisées dans les calculs matriciels, avec un niveau de précision qui peut être assez faible, ce qui est très utile pour tout ce qui touche à l'IA, notamment l'application de modèles (inférence). Mais si leur intérêt est évident pour les professionnels, ce n'était pas le cas pour le grand public et les joueurs. 

C'est là que sont nées différentes idées, dont le Deep Learning Super Sampling (DLSS). Une solution pensée pour accélérer le calcul des images en jeu tout en réduisant l'aliasing par une méthode simple en apparence.

Il s'agit en effet d'entraîner un réseau de neurones à calculer une image très grande et très précise à partir d'une image en définition très réduite. Puis on l'applique en temps réel. De quoi permettre au GPU d'économiser en ressources pour un résultat se voulant similaire. Et donc afficher de très bonnes performances.

Parfait pour « vendre » l'utilisation du ray tracing dans de grosses définitions et sur des jeux gourmands, à plus de 60 ips. Mais comme souvent dans ce genre de cas, tout ne s'est pas passé comme prévu.

DLSS 1.0 : les multiples erreurs de NVIDIA

Tout d'abord, le constructeur a été tout sauf clair sur l'action exact de cette technologie. Publiquement, presque aucun détail n'était donné, et même à la presse les explications étaient assez floues. Il existait d'ailleurs deux modes, DLSS et DLSS 2X, sans que l'on ne sache véritablement où le second devait être implémenté à l'époque.

Ajoutez à cela les autres erreurs de communication du constructeur au lancement des GeForce RTX et de premières intégrations poussives... vous obteniez un résultat assez décevant. Le flou n'était pas que dans la forme, il se retrouvait à l'écran : activer DLSS, c'était perdre en qualité d'image. 

Surtout, la fonctionnalité n'était pas toujours disponible. Cela pouvait dépendre de la définition, des jeux, d'autres réglages, etc. Bref, c'était tout sauf une option intéressante à activer. Utile surtout au constructeur pour afficher de bonnes performances dans les benchmarks « RTX On », soit avec DLSS et ray tracing actifs.

Un DLSS 2.0 plus souple et plus efficace

NVIDIA a donc revu sa stratégie. Le constructeur s'est fait plus discret sur DLSS, tout en le retravaillant. Deux jeux lui ont servi de galop d'essai : Control et Wolfenstein : Youngblood. Très peu de choses avaient été détaillées, mais la presse avait été prévenue : les dernières versions de DLSS bénéficiaient d'ajouts importants.

C'est ce qui explique que certains se soient à l'époque penchés à nouveau sur cette fonctionnalité au sein de ces titres. Mais voilà, NVIDIA refusait d'en dire plus publiquement. Là aussi la société a revu sa façon de penser, évoquant désormais son « DLSS 2.0 ». Il s'agit donc simplement de donner un nom à un dispositif déjà en place, mais il est mérité.

Le réseau de neurones a été repensé avec plusieurs objectifs : il devait être plus rapide à appliquer (le résultat est divisé par deux selon NVIDIA) et surtout générique. Désormais, il n'est plus question de l'adapter à chaque jeu, de ne l'appliquer que sur certaines définitions selon les GPU, d'effectuer un entraînement pour chaque titre indépendamment, nécessitant autant de mises à jour que d'évolutions... Un seul modèle, constamment renforcé, est appliqué.

Malheureusement, il ne pourra pas être utilisé sur d'anciens jeux ayant intégré DLSS « 1.0 » à moins que les développeurs n'effectuent un travail d'adaptation. La promesse d'une mise à jour dans le temps, via le dispositif NGX des pilotes du constructeur, n'est donc pas parfaitement tenue. Elle n'est valable que dans une même branche (1.0/2.0).

Une option : trois niveaux de qualité

DLSS 2.0 dispose d'autres avantages. Il est désormais entraîné pour générer des images 4K depuis une définition de type 1080p (x4). Cela passe toujours pas un réseau de type Convolutional autoencoder. Le résultat qu'il produit est comparé à une image en 16K (64 samples par pixel) avec anti-aliasing.

Il doit s'entraîner à s'en approcher le plus possible. Une attention spécifique a été portée à deux défauts qui avaient été relevés dans la première version de DLSS : le niveau de détail de l'image mais également le traitement des objets en mouvement. NVIDIA promet que le résultat est cette fois au-rendez-vous sur ces deux points : 

NVIDIA DLSS 2.0NVIDIA DLSS 2.0

Pour cela, des motions vectors issus du moteur de jeu sont injectés dans le réseau de neurone afin de les prendre en compte et affiner le résultat par rapport à ce qui était produit sur DLSS 1.0.

Dans la pratique, jusqu'à trois niveaux sont proposés : Performance, Équilibré et Qualité. Cela revient à appliquer DLSS 2.0 pour obtenir une image jusqu'à x4 pour le niveau le plus élevé. Le gain de performances sur des images de type 1440p/4K est d'autant plus important que les GPU sont limités.

NVIDIA évoque des gains allant de x1,5 à x4 dans certains cas, mais on parle de situations où l'on est sous les 60 ips même avec DLSS. Elles ne sont donc pas très pertinentes. Dans tous les cas, le gain est appréciable. Il faut bien entendu une GeForce RTX pour en profiter. 

Outre les deux jeux actuellement supportés (Control via une mise à jour qui doit être diffusée cette semaine), MechWarrior 5 intègre également DLSS 2.0. D'autres implémentations doivent être annoncées d'ici peu. Nous verrons ce qu'il en est et la qualité constatée avec des pilotes et patchs définitifs. 

Comment l'activer ?

L'intégration de DLSS 2.0 dépend des jeux et des développeurs. Dans Youngblood, elle se présente dans les paramètres de manière classique, avec les différents niveaux disponibles. Dans MechWarrior 5, elle se trouve dans les paramètres d'affichage plutôt que ceux des graphiques. 

Dans Control, c'est un peu différent et assez intéressant au regard de la transparence que cela apporte au joueur. Le fait d'activer DLSS limite les choix de la définition de rendu par rapport à celle d'affichage. Ainsi, on sélectionne chacune d'entre elles indépendamment, la case à cocher n'étant là que pour indiquer que le modèle appliqué pour la mise à l'échelle est celui du DLSS 2.0 sans autre notion de qualité/performances :

NVIDIA DLSS 2.0 ControlNVIDIA DLSS 2.0 Control
Control est l'implémentation la plus transparente de DLSS

Quelles performances et qualité d'image ?

Nous avons pu effectuer quelques tests préliminaires sous Control dans la version qui sera diffusée prochainement aux joueurs, avec des pilotes bêta fournis par NVIDIA (455.75). Nous avons obtenu les performances suivantes avec une GeForce RTX 2080 avec un affichage en 4K, mais un rendu (Qualité élevée) dans différentes définitions :

  • 1080p : 60 ips
  • 1440p : 45 ips
  • 4K (natif) : 26 ips

Mais qu'en est-il de la qualité d'image ? Voici les trois captures effectuées par nos soins, tout au début du jeu, dans une scène avec des reflets texturés sur le sol, mais aussi des volets qui peuvent jouer des tours à des solutions telles que DLSS. Elles ont été récupérées dans une définition 4K :

Control DLSS 2.0 1080pControl DLSS 2.0 1440pControl DLSS 2.0 Original
Le rendu effectué via DLSS 2.0 en 1080p (Original), en 1440p (Original) puis à la définition native sans DLSS 2.0 (Original)

Comme on peut le voir, DLSS 2.0 est toujours l'occasion de perte de détails sur des éléments tels que le reflet du sol. On note néanmoins que l'on garde un bon niveau de rendu général et que l'on ne voit pas de défauts particuliers au niveau des volets ou à d'autres endroits de la scène.

De manière plus étonnante, DLSS 2.0 ajoute même une couche de netteté sur certains éléments comme le papier présent au sol ou la bibliothèque derrière la fenêtre. Comme s'il gommait les effets de flou qui leur était dévolu. Au final, ce sera donc à chacun de jauger selon son besoin.

Disposer d'un rendu moins conforme aux attentes du développeur, mais de bien meilleures performances, permettant de monter en niveau le niveau de graphisme global ? Nombreux sont les joueurs qui ne cracheront pas sur cette occasion. Gageons que NVIDIA continuera à faire évoluer son DLSS pour améliorer les défauts relevés ici ou là.

De nouveaux outils pour les développeurs

NVIDIA en profite d'ailleurs pour annoncer l'arrivée de nouveaux outils pour les développeurs. Tout d'abord, DLSS 2.0 est désormais géré par l'Unreal Engine. 

De plus, il évoque son Texture Tools Exporter et Nsight Atermath/Graphics gérant désormais Vulkan. Ses « RTX Dev Tools » viennent compléter ce qu'apporte DirectX 12 Ultimate et DXR 1.1 avec son RTX Global Illumination (GI) SDK devant simplifier la vie des développeurs voulant s'essayer au ray tracing.

Un mode de rendu sur lequel le constructeur veut accentuer ses efforts dans les mois à venir. Il faut dire qu'AMD va à son tour gérer le ray tracing avec Navi 2X et RDNA2, sans parler des consoles de nouvelle génération. Il lui faut donc garder un temps d'avance afin de continuer à se démarquer.

NVIDIA DLSS 2.0NVIDIA DLSS 2.0

Ce contenu est en accès libre

Il a été produit grâce à nos abonnés, l'abonnement finance le travail de notre équipe de journalistes.

ou choisissez l'une de nos offres d'abonnement :

8 commentaires
Avatar de ilyon INpactien
Avatar de ilyonilyon- 23/03/20 à 14:34:46

https://cdnx.inpact-hardware.com/data-prod/image/bd/2619.jpeg

C'était si crasseux que ça le DLSS1 ?

Édité par ilyon le 23/03/2020 à 14:35
Avatar de Firefly' Abonné
Avatar de Firefly'Firefly'- 23/03/20 à 15:06:29

(quote:46054:ilyon) https://cdnx.inpact-hardware.com/data-prod/image/bd/2619.jpegC'était si crasseux que ça le DLSS1 ?

les screen avant après c'est comme pour le GSync/Freesync, ils exagèrent toujours..

Avatar de tazvld Abonné
Avatar de tazvldtazvld- 23/03/20 à 15:17:38

Pour expliquer le principe de DLSS, il faut bien comprendre que ce n'est pas vraiment un upscaling, mais la création d'une toute nouvelle image en interprétant l'image originale. Chaque pixel de la nouvelle image est recréer de zero en tenant compte des pixels environnant dans l'image d'origine. Il fait ce qu'un artiste qui copie une oeuvre ferait, il regarde l'image d'origine, l'interprète ("ok, ça c'est une main, ça c'est une texture grillagé..." et réalise sa copie ainsi. Je pense que c'est à cause de ça qu'il a tendance à augmenter la netteté des papiers au sol, je crois que NVidia a forcer son réseau de neurone à réaliser des images plus net que l'orginal, et donc à surinterpréter.

(quote:46054:ilyon) https://cdnx.inpact-hardware.com/data-prod/image/bd/2619.jpegC'était si crasseux que ça le DLSS1 ?

J'imagine que les hélices étant en mouvement, il se chiait dessus. A priori, sur la première version il fallait plusieurs frames pour bien travailler, il y avait à l'époque des journalistes qui avait montrer sur une démo que lors d'un changement de camera, il lui fallait quelque frame pour arriver un résultat correcte.

Avatar de Sheepux Abonné
Avatar de SheepuxSheepux- 23/03/20 à 15:23:58

(quote:46056:tazvld) je crois que NVidia a forcer son réseau de neurone à réaliser des images plus net que l'orginal, et donc à surinterpréter.

"Très simple", ils ont généré des images (ou vidéos ) 4K et 1080 et ont entrainé le réseau à passer du plus petit au plus gros.

Bref, ca m'impressionne toujours autant le deep learning

Avatar de David_L Équipe
Avatar de David_LDavid_L- 23/03/20 à 16:17:34

(quote:46054:ilyon) https://cdnx.inpact-hardware.com/data-prod/image/bd/2619.jpegC'était si crasseux que ça le DLSS1 ?

Disons que ça met en lumière un des cas qui posait souci, comme évoqué dans l'article les éléments en mouvement.

Avatar de tazvld Abonné
Avatar de tazvldtazvld- 23/03/20 à 18:03:19

(quote:46057:Sheepux) "Très simple", ils ont généré des images (ou vidéos ) 4K et 1080 et ont entrainé le réseau à passer du plus petit au plus gros.Bref, ca m'impressionne toujours autant le deep learning

Je pense même qu'ils ont généré une vidéo 8k qu'ils ont downscaler en 4k. Je pense aussi qu'ils ont ajouter des données (dans l'article ils parlent des "motions vectors", mais on peut ajouter le z-buffer pour la profondeur...)

Après, il y a d'autre méthode, je verrais bien un système "adverse" avec un second réseau charger de distinguer l'originale du faux. En se faisant, les petites erreurs qui ont peu de poids avec la méthode classique (méthode de calcule de l'erreur et souvent l'écart moyen, les détails passe parfois à la trappe) sont détecté par le second réseau et force leur correction.

Avatar de Qruby Abonné
Avatar de QrubyQruby- 24/03/20 à 16:00:51

Je trouve cette technologie vraiment très intéressante, si cela peut nous faire garder notre matos un peu plus longtemps, c'est top!

Avatar de ashlol Abonné
Avatar de ashlolashlol- 27/03/20 à 21:39:18

testé à l'instant dans control et effectivement c'est nettement mieux en qualité d'image avec DLSS. Autant je l'ai fini sans DLSS avec raytracing et il est bien joli mais 30fps c'est chaud. Maintenant du coup la différence visuelle entre 4k et 2k +DLSS est quasi impossible à voir. Car oui activer DLSS passe automatiquement la résolution de rendu à une valeur inférieure. En résumé avant le patch et maj driver avec une 2080ti bien OC; 4k+raytracing = environ 25-35fps en fonction des endroits = super beau 4k+raytracing+DLSS = 55-60fps constant mais moche surtout les fumée et objet en mouvement après la maj 4k+raytracing = pas de changement 4k+raytracing+DLSS = 45-55fps en fonction des endroits mais par contre dur de faire la différence avec le vrai 4k

Il n'est plus possible de commenter cette actualité.

Votre commentaire

Avatar de lecteur anonyme
Avatar de lecteur anonyme

2000 - 2020 INpact MediaGroup - SARL de presse, membre du SPIIL. N° de CPPAP 0321 Z 92244.

Marque déposée. Tous droits réservés. Mentions légales et contact