La sortie de Cyberpunk 2077: Phantom Liberty est l’occasion pour NVIDIA de mettre l’accent sur une innovation technique supplémentaire baptisée ray reconstruction. La société en profite d’ailleurs pour introduire ce qu’elle appelle le DLSS 3.5, histoire d’enfoncer le clou par rapport à AMD qui peine encore à distribuer son FSR 3.
Deep Learning Super Sampling ou DLSS
La version « 1.0 » du DLSS est encore relativement récente puisque lancée en février 2019. Il s’agissait alors simplement d’une technique d’upscaling loin d’être convaincante. Deux jeux avaient surtout été utilisés pour mettre en avant les atouts de cette nouveauté, Battlefield V et Metro Exodus. Un double exemple qui illustrait aussi un problème majeur pour NVIDIA : le besoin d’ajuster les choses jeu par jeu.
À peine plus d’un an plus tard, DLSS 2 est toutefois lancé et, pour être honnête, on considère souvent que c’est le véritable point de départ de la technologie de NVIDIA. DLSS est là pour Deep Learning Super Sampling ou Super Échantillonnage assisté par l’Intelligence Artificielle. L’idée, vous la connaissez sans doute : demander au GPU de procéder au rendu des images dans une définition d’image plus faible que celle qui doit être réellement affichée, l’intelligence artificielle intervenant pour « remplir les trous ».
Avec cette version 2, le DLSS fait appel aux cœurs Tensor mis en place par NVIDIA. Non content d’améliorer le résultat graphique obtenu par ce super échantillonnage et de signer de meilleures performances, le DLSS 2 est surtout l’occasion pour la société au caméléon de passer à un « entraînement générique ». Il ne serait alors plus nécessaire de travailler les jeux de manière individuelle comme c’était le cas auparavant : à la clé, un gain de temps et de ressources non négligeable pour NVIDIA comme pour les studios.
Reste que cela ne suffisait toujours et que pour garder une longueur d’avance sur le concurrent de toujours – AMD – NVIDIA a lancé en septembre 2022, en même temps que les GeForce RTX 4000, le DLSS 3. Pourquoi en même temps que la nouvelle génération de cartes graphiques ? Car le DLSS 3 se distingue principalement par le frame generation (ou génération d’images) lequel ne serait tout simplement pas gérable par les cœurs Tensor de 3ᵉ génération qui équipent les RTX 3000, il faut des cœurs de 4ᵉ génération.
Pour faire simple, l’intelligence artificielle ne se contente plus ici de « combler les manques » pour autoriser une image plus fine que celle calculée par le GPU. Non, grâce à l’optical flow accelerator, le DLSS 3 prend des informations sur la direction et la vitesse des pixels des images précédentes pour, de lui-même, générer la totalité de certaines images intermédiaires. Ainsi, NVIDIA s’amuse à dire qu’avec le DLSS 3, 8 pixels sur 10 sont maintenant générés par l’intelligence artificielle plutôt que calculés par le GPU.
DLSS 3.5 et le ray reconstruction
Vous l’aurez compris en lisant le titre de cet article ou si vous avez suivi les récentes annonces de NVIDIA, ce n’est toujours pas suffisant pour le promoteur des GeForce. Toutefois, plutôt que de parler de DLSS 4, NVIDIA préfère DLSS 3.5 pour valider l’arrivée d’une nouveauté majeure, le ray reconstruction. Vous vous en doutez sûrement, le terme ray fait référence au ray du ray tracing. En bon français, ray reconstruction peut donc se traduire par reconstruction de rayons.
Afin de mieux comprendre la chose, il convient de savoir comment un jeu vidéo s’affiche. En premier lieu, le moteur graphique se charge de tout ce qui est géométrie et matières de la scène à reproduire. On ne parle pas encore de rendu de la lumière et des ombres, mais des éléments géométriques et de leurs matériaux dépendent les « conditions » à partir desquelles il sera possible de déterminer les interactions avec les sources lumineuses. C’est à ce niveau que le ray tracing entre en action.
À l’occasion d’un précédent article, Clubic avait déjà évoqué le ray tracing. Pour faire simple, l’idée est d’envoyer des rayons depuis la caméra jusqu’à l’objet à éclairer. En fonction du chemin parcouru par ce rayon, les éclairages pourront être déterminés sachant que ledit rayon peut – en fonction du matériau « d’arrivée » – rebondir pour atteindre un autre objet puis rebondir encore et encore. Dans le cas de Portal RTX, NVIDIA précise que 20 rayons par pixels sont envoyés et que jusqu’à 8 rebonds sont pris en compte.
Ce travail de rebonds terminé pour chaque pixel, une espèce de plan d’ensemble est obtenu avec tout ce qui est éclairage, ombre, occlusion ambiante et réflexion. Un plan qui reste cependant bruité, moucheté, avec d’importants « manques ». C’est là qu’intervient le denoiser qui doit permettre d’aboutir à un rendu « propre » au travers de deux méthodes. La première, chronologique, se base sur les images précédentes pour « imaginer » le résultat et la seconde, spatiale, interpole les pixels avec leurs voisins.
Problème, le denoiser est imparfait et le résultat en ray tracing peut même être qualifié d’approximatif dans pas mal de cas que les détracteurs de la technique n’ont pas manqué de souligner. Les exemples ci-dessus illustrent certaines des situations les plus extrêmes comme le rétroviseur d’une voiture en mouvement qui se trouve « démultiplié » sur plusieurs frames. Un autre problème peut être le manque de données pour parvenir à une interpolation détaillée, notamment lors de reflets fugaces dans une flaque d’eau.
Ce dernier point est d’autant plus gênant que NVIDIA a longtemps martelé que le rendu obtenu via le DLSS 3 est équivalent, « voire supérieur », au rendu natif. Il serait évidemment dommage qu’ajouter une technique comme le ray tracing vienne battre en brèche une communication bien rodée… surtout que les ressources GPU dégagées par le DLSS 3 sont justement là pour autoriser ce même GPU à réaliser d’autres tâches, le ray tracing par exemple.
C’est précisément le rôle du ray reconstruction intégré au DLSS 3.5. L’idée est ici de combiner l’étape de débruitage du denoiser et celle de mise à l’échelle du DLSS 3 en une seule. Ainsi associées, les deux étapes disposent de plus d’informations pour aboutir à un résultat de meilleure qualité.
Ensuite seulement est pris en compte ce que NVIDIA baptise le temporal feedback, autrement dit le retour d’informations lié aux précédentes images et, une fois que la mise à l’échelle est – proprement – réalisée, il devient possible de passer à l’étape de frame generation qui, NVIDIA insiste bien sur ce point, est complètement distincte du ray reconstruction. D’ailleurs, dans Cyberpunk 2077: Phantom Liberty, il est possible d’activer l’un sans l’autre autant que l’un avec l’autre, même si chacun apporte son petit plus.
Clarifions les choses
En quelques années, NVIDIA a lancé de nombreuses technologies et il n'est pas toujours évident de s'y retrouver, de savoir qui fait quoi ou qui est compatible avec quoi.
Le petit tableau ci-dessus permet de fixer un peu les choses. Ainsi, il faut comprendre que DLSS 3 et DLSS 3.5 sont bien distincts. Le premier ajoute le frame generation tandis que le second ajoute le ray reconstruction.
Le frame generation impose d'avoir des cœurs Tensor de 4e génération, donc une RTX 4000. Le ray reconstruction, pour sa part, n'a besoin que d'une carte RTX et fonctionne donc très bien avec une « vieille » 2070.
Quelques exemples visuels
NVIDIA a bien sûr été prompt à diffuser images et vidéos pour illustrer l’apport du ray reconstruction via le DLSS 3.5. Des publications qui ont d’ailleurs été à l’origine d’un embargo « original ». Juste pour vous faire part de ce que l’on peut parfois « subir », voici le détail des dates d’embargo accompagnant Cyberpunk 2077: Phantom Liberty et le DLSS 3.5 en fonction de ce que l’on veut publier. Pourquoi faire simple quand on peut faire compliqué !
Sans surprise, les captures NVIDIA viennent illustrer la supériorité du ray reconstruction, notamment dès qu’il est question de reflets. Les deux premiers exemples sont on ne peut plus parlants, même si cela ne concerne qu’une fraction de l’image. Les inscriptions que l’on peut voir dans les reflets sont illisibles sans le ray reconstruction, car le DLSS n’a pas assez d’informations pour mettre à l’échelle sans trop « flouter » l’ensemble.
En revanche, nous sommes moins convaincus par le troisième exemple affiché par NVIDIA. Ce dernier permet de mettre en avant une meilleure gestion de l’éclairage (regardez les phares), mais cela ne saute pas forcément aux yeux, surtout sur une capture. Notez effectivement que certaines améliorations du ray reconstruction sont bien plus visibles sur des scènes en mouvement.
Les illustrations officielles, c’est bien, mais si nous avons attendu ce 25 septembre pour vous parler du DLSS 3.5, c’est aussi et surtout pour vous présenter nos propres captures. Non qu’elles soient meilleures, mais plutôt qu’elles viennent attester, sur des exemples peut être moins promotionnels, le bien-fondé de la technologie du ray reconstruction.
Trois exemples (largement zoomés), d'abord en natif, puis avec le frame generation activé puis en rajoutant le ray reconstruction. Sur ces exemples, le résultat est nettement en faveur de la dernière option avec, juste, un écueil : sur la première série, voyez comme le passage protégé perd en détails par rapport au natif. La preuve qu'il subsiste quelques (très rares) défauts.
Sans qu'il soit question de démultiplier les exemples, il peut être intéressant de comparer les rendus de manière plus directe. Pour ce faire, nous opposons frame generation et frame genetation + ray reconstruction en haut avant d'opposer natif et frame genetation + ray reconstruction. À vous de vous faire votre propre idée !
Et les performances, ça dit quoi ?
Terminons avec quelques mesures dont l'objectif est de se donner une idée de l’impact du ray reconstruction alors que l’apport graphique du ray tracing / path tracing est également synonyme de chute drastique des performances. Nous avons ici utilisé une GeForce RTX 4090 FE avec un processeur Ryzen 9 5900X épaulé par 64 Go de RAM. Tous les détails étaient au maximum et le path tracing activé. Deux définitions d’image ont été retenues (2 560 x 1 440 et 3 840 x 2 160) et, à chaque fois, nous avons réalisé quatre mesures :
- DLSS désactivé
- DLSS équilibré avec frame generation et ray reconstruction
- DLSS équilibré avec frame generation, mais sans ray reconstruction
- DLSS équilibré sans frame generation, mais avec ray reconstruction
Cette dernière est là pour « la beauté du geste » dans la mesure où les deux technologies sont, tout de même, faites pour cohabiter.
Des résultats bien sûr plus parlants en 3 840 x 2 160, mais des conclusions assez similaires peuvent malgré tout être tirées en 2 560 x 1 440. Bien sûr, en natif, les performances s’effondrent et sur une RTX 4090, même le 1 440p n’est pas fluide si le path tracing s’en mêle. En revanche, on voit que le ray reconstruction apporte un petit boost de performances appréciable, même si ça ne sera pas suffisant pour rendre jouable un jeu qui rame.
Le DLSS 3.5 est encore tout frais. Le ray reconstruction nous arrive tout juste et Cyberpunk 2077: Phantom Liberty est le premier titre d’une série que l’on espère longue. De l’aveu de développeurs comme de NVIDIA, il y a encore du travail pour que cette technologie exprime son plein potentiel, mais on peut d’ores et déjà exprimer un grand « OUI » alors qu’elle vient remédier aux petits soucis rencontrés çà et là avec le frame generation, ainsi que, plus généralement, avec la mise à l'échelle du DLSS.
À l’usage, en pleine partie, les apports sont évidemment moins visibles, mais pour autant, plusieurs paires d’yeux ont constaté le même « saut » qualitatif. L’image est plus nette, certains éléments ressortent davantage et les reflets gagnent en lisibilité. Alors que les performances sont également (quoique légèrement) en hausse, on ne voit aucune raison de se priver. Une fois encore, un grand « OUI » pour le ray reconstruction.