S’il faut parler des deux fers de lance de NVIDIA pour sa GeForce RTX il est clair qu’il s’agit du Ray Tracing et du DLSS, le premier n’est plus un avantage du fait de l’implĂ©mentation dans le RDNA 2 d’AMD, mais le second est toujours un Ă©lĂ©ment diffĂ©rentiel. cela lui donne un grand avantage, mais tout n’est pas ce qu’il semble Ă premiĂšre vue.
DLSS sur RTX dĂ©pend des cĆurs Tensor
La premiĂšre chose que nous devons prendre en compte est de savoir comment les diffĂ©rents algorithmes, communĂ©ment appelĂ©s DLSS, tirent parti du matĂ©riel de la console et rien de mieux que de faire une analyse du fonctionnement du GPU pendant le rendu d’une trame avec le DLSS actif et sans il.
Les deux captures d’Ă©cran que vous avez au-dessus de ces images correspondent Ă l’utilisation de l’outil NVIDIA NSight, qui mesure l’utilisation de chacune des parties du GPU au fil du temps. Pour interprĂ©ter les graphiques, nous devons tenir compte du fait que l’axe vertical correspond au niveau d’utilisation de cette partie du GPU et l’axe horizontal le temps dans lequel l’image est rendue.
Comme vous pouvez le voir, la diffĂ©rence entre les deux captures d’Ă©cran du NSight est que dans l’une d’entre elles, vous pouvez voir le niveau d’utilisation de chaque partie du GPU lors de l’utilisation du DLSS et dans l’autre non. Quelle est la diffĂ©rence? Si on n’y regarde pas de prĂšs on verra que dans celui correspondant Ă l’utilisation du DLSS le graphe correspondant aux Tensor Cores est plat sauf Ă la fin du graphe, c’est-Ă -dire lorsque ces unitĂ©s sont activĂ©es.
DLSS n’est rien de plus qu’un algorithme de super-rĂ©solution, qui prend une image Ă une rĂ©solution d’entrĂ©e donnĂ©e et produit une version de rĂ©solution plus Ă©levĂ©e de la mĂȘme image dans le processus. C’est pourquoi les cĆurs Tensor, lorsqu’ils sont appliquĂ©s, sont activĂ©s en dernier, car ils nĂ©cessitent que le GPU rende l’image en premier.
Fonctionnement DLSS sur NVIDIA RTX
DLSS prend jusqu’Ă 3 millisecondes du temps pour rendre une image, quelle que soit la vitesse d’exĂ©cution du jeu. Si par exemple nous voulons appliquer le DLSS dans les jeux Ă une frĂ©quence de 60 Hz, alors le GPU devra rĂ©soudre chaque image en:
(1000 ms / 60 Hz) -3 ms.
En d’autres termes, en 13,6 ms, en retour, nous obtiendrons une frĂ©quence d’images plus Ă©levĂ©e dans la rĂ©solution de sortie que celle que nous obtiendrions si nous rendions la rĂ©solution de sortie nativement au GPU.
Supposons que nous ayons une scĂšne que nous voulons rendre Ă 4K. Pour cela, nous avons une GeForce RTX indĂ©terminĂ©e qui Ă ladite rĂ©solution atteint 25 images par seconde, donc elle rend chacune d’entre elles Ă 40 ms, nous savons que le mĂȘme GPU peut atteindre une frĂ©quence d’images de 5o, 20 ms Ă 1080p. Notre GeForce RTX hypothĂ©tique prend environ 2,5 ms pour passer de 1080p Ă 4K, donc si nous activons DLSS pour obtenir une image 4K Ă partir d’une image Ă 1080p, chaque image avec DLSS prendra 22,5 ms. Avec cela, nous avons pu rendre la scĂšne Ă 44 images par seconde, ce qui est supĂ©rieur aux 25 images qui seraient obtenues en rĂ©solution native.
D’un autre cĂŽtĂ©, si le GPU prend plus de 3 millisecondes pour faire sauter la rĂ©solution, alors le DLSS ne sera pas activĂ©, car c’est le dĂ©lai fixĂ© par NVIDIA dans ses GPU RTX pour qu’ils appliquent les algorithmes DLSS. Cela rend les GPU bas de gamme limitĂ©s dans la rĂ©solution Ă laquelle ils peuvent exĂ©cuter DLSS.
DLSS bĂ©nĂ©ficie de cĆurs de mesure haute vitesse
Les Les cĆurs de tension sont essentiels pour l’exĂ©cution du DLSSSans eux, cela ne pourrait pas ĂȘtre fait Ă la vitesse qui fonctionne sur le NVIDIA RTX, puisque l’algorithme utilisĂ© pour effectuer l’augmentation de rĂ©solution est ce que nous appelons un rĂ©seau de neurones convolutif, dans la composition duquel nous n’allons pas entrer dans cet article, seulement Dire que celles-ci utilisent un grand nombre de multiplications matricielles et que les unitĂ©s tensorielles sont idĂ©ales pour le calcul avec des matrices numĂ©riques, car elles sont le type d’unitĂ© qui les exĂ©cute le plus rapidement.
Dans le cas d’un film aujourd’hui, les dĂ©codeurs finissent par gĂ©nĂ©rer l’image initiale dans la mĂ©moire tampon d’image plusieurs fois plus rapidement que la vitesse Ă laquelle elle est affichĂ©e Ă l’Ă©cran, donc il y a plus de temps pour mettre Ă l’Ă©chelle et donc cela finit par nĂ©cessiter beaucoup moins de calcul. Puissance. Dans un jeu vidĂ©o, par contre, nous ne l’avons pas stockĂ© sur un support comme le sera l’image suivante, mais il doit ĂȘtre gĂ©nĂ©rĂ© par le GPU, cela rĂ©duit le temps que le scaler doit travailler.
Chacun de ces Les noyaux de tension sont situĂ©s Ă l’intĂ©rieur de chaque unitĂ© SM et en fonction de la carte graphique que nous utilisons, sa capacitĂ© de calcul variera, en faisant varier le nombre de SM par GPU, et donc il gĂ©nĂ©rera l’image mise Ă l’Ă©chelle en moins de temps. Parce que DLSS intervient Ă la fin du rendu une vitesse Ă©levĂ©e est requise pour mettre en Ćuvre DLSS, c’est pourquoi il est diffĂ©rent des autres algorithmes de super-rĂ©solution tels que ceux utilisĂ©s pour mettre Ă l’Ă©chelle des films et des images.
Tous les NVIDIA RTX ne fonctionnent pas de la mĂȘme maniĂšre sur DLSS
Ce tableau que vous voyez est tirĂ© de la propre documentation de NVIDIA, oĂč la rĂ©solution d’entrĂ©e dans tous les cas est 4 fois infĂ©rieure Ă la rĂ©solution de sortie, nous sommes donc en mode Performance. Hay que aclarar que existen dos modos adicionales, el Quality Mode da mejor calidad de imagen, pero requiere una resoluciĂłn de entrada de la mitad de pĂxeles, mientras que el Ultra Performance Mode hace un escalado de 9 veces, pero tiene la peor calidad de imagen de toutes.
Comme vous pouvez le voir dans le tableau, les performances varient non seulement en fonction du GPU, mais aussi si nous prenons en compte le GPU que nous utilisons. Ce qui ne devrait pas surprendre aprĂšs ce que nous avons expliquĂ© plus tĂŽt. Le fait qu’en mode Performance, un RTX 3090 finisse par ĂȘtre capable de passer de 1080p Ă 4K en moins de 1 ms est impressionnant pour le moins. Cela a une contrepartie qui dĂ©coule d’une conclusion logique, Ă savoir que le DLSS sur les cartes graphiques les plus modestes fonctionnera toujours moins bien.
La cause derriĂšre cela est claire, un GPU avec moins de puissance aura non seulement besoin de plus de temps pour rendre l’image, mais mĂȘme pour appliquer le DLSS. La solution est-elle le mode Ultra Performance qui multiplie par 9 le nombre de pixels? Non, puisque DLSS exige que l’image de sortie ait une rĂ©solution d’entrĂ©e suffisante, puisque plus il y a de pixels Ă l’Ă©cran, il y aura plus d’informations et la mise Ă l’Ă©chelle sera plus prĂ©cise.
GĂ©omĂ©trie, qualitĂ© d’image et DLSS
Les GPU sont conçus de telle sorte que dans l’Ă©tape Pixel / Fragment Shader, dans laquelle les pixels de chaque fragment sont colorĂ©s et les textures sont appliquĂ©es, ils le font avec des fragments de pixels 2 Ă 2. La plupart des GPU, lorsqu’ils ont tramĂ© un triangle, le convertissent en un bloc de pixels qui est ensuite subdivisĂ© en blocs de 2 Ă 2 pixels, oĂč chaque bloc est envoyĂ© Ă une unitĂ© de calcul.
Les consĂ©quences sur DLSS? L’unitĂ© raster rejette gĂ©nĂ©ralement tous les morceaux 2 Ă 2 de la boĂźte comme Ă©tant trop petits, correspondant parfois Ă des dĂ©tails Ă©loignĂ©s. Cela signifie que les dĂ©tails qui seraient visibles sans problĂšme Ă une rĂ©solution native ne sont pas visibles dans la rĂ©solution obtenue via DLSS en raison du fait qu’ils n’Ă©taient pas dans l’image Ă redimensionner.
Ătant donnĂ© que DLSS nĂ©cessite une image avec autant d’informations que possible comme rĂ©fĂ©rence d’entrĂ©e, ce n’est pas un algorithme conçu pour gĂ©nĂ©rer des images Ă trĂšs haute rĂ©solution Ă partir d’images trĂšs basses, car les dĂ©tails sont perdus dans le processus.
Et qu’en est-il d’AMD, peut-il Ă©muler le DLSS?
Les rumeurs sur la super rĂ©solution du FidelityFX circulent sur le rĂ©seau depuis des mois, mais AMD ne nous a pas encore donnĂ© d’exemple rĂ©el sur le fonctionnement de son homologue du DLSS. Qu’est-ce qui rend la vie d’AMD si difficile? Eh bien, le fait que les Tensor Cores soient cruciaux pour le DLSS et dans l’AMD RX 600 il n’y a pas d’unitĂ©s Ă©quivalentes, mais plutĂŽt que SIMD over register ou SWAR est utilisĂ© dans les ALU des unitĂ©s de calcul pour obtenir des performances plus Ă©levĂ©es dans les formats FP16 de moins de prĂ©cision., mais un lecteur SIMD n’est pas un rĂ©seau systolique ou un lecteur de tension.
DĂšs le dĂ©part, nous parlons d’un diffĂ©rentiel 4 fois en faveur de NVIDIA, cela signifie que lors de la gĂ©nĂ©ration d’une solution similaire, il part d’un dĂ©savantage de vitesse considĂ©rable, optimisations pour le calcul des matrices Ă part. Nous ne discutons pas de savoir si NVIDIA est meilleur que AMD dans ce domaine, mais le fait qu’AMD lors de la conception de son RDNA 2 n’a pas donnĂ© d’importance aux unitĂ©s de tenseur.
Est-ce dĂ» Ă un handicap? Eh bien non, puisque paradoxalement AMD les a ajoutĂ©s Ă CDNA sous le nom de Matrix Core. Pour le moment, il est tĂŽt pour parler de RDNA 3, mais espĂ©rons qu’AMD ne refera pas la mĂȘme erreur en n’incluant pas l’une de ces unitĂ©s. Cela n’a aucun sens de s’en passer lorsque le coĂ»t par unitĂ© de calcul ou SM n’est que de 1 mm2.
Nous espĂ©rons donc que lorsque AMD ajoutera son algorithme en raison du manque d’unitĂ©s Tensor, il n’atteindra ni la prĂ©cision ni la vitesse de NVIDIA, mais qu’AMD prĂ©sentera une solution plus simple comme un mode Performance qui double les pixels Ă l’Ă©cran.