Test : Variable Rate Shading, l’astuce pour gagner en performances dans les jeux

Une technologie qui pourrait apporter un peu de fluidité sans trop sacrifier la qualité de rendu perçue par le joueur.

Une astuce intéressante…

La technologie VRS, pour Variable Rate Shading, est arrivée avec les GeForce RTX de NVIDIA, mais elle n’est pour l’instant appliquée que dans un seul jeu : Wolfenstein II. Déjà très performant sous l’API Vulkan, et historiquement développé sous l’égide des GPU AMD, ce jeu adopte finalement une techno NVIDIA dans une récente mise à jour. Nous avons testé cette techno, qui permettrait d’augmenter les performances de rendu dans les jeux, sans sacrifice visuel.

Notez qu’à l’origine, l’astuce fut trouvée chez Intel en 2014 sous le nom de “coarse pixel shading“. Une première application a mené au “foveated rendering” pour la VR, et NVIDIA en propose actuellement la version la plus avancée, l’appelant désormais Adaptive Shading.

En attente d’implémentation…

Image 1 : Test : Variable Rate Shading, l'astuce pour gagner en performances dans les jeux

Nous avons déjà bien expliqué les principes du VRS dans notre présentation de l’architecture Turing. Cette techno est une évolution du Multi-Res Shading, apparu avec les GPU Pascal. Nous avions d’ailleurs testé cette première version dans Shadow Warrior II, un jeu (le seul ?) qui l’avait implémenté à l’époque. Espérons que Wolfenstein II ne soit pas non plus le seul jeu équipé de cette nouvelle technologie !

La techno VRS semble toutefois assez souple, et relativement facile à implémenter. Les développeurs de Battlefield V pourraient utiliser cette astuce pour améliorer les performances de rendu avec ray tracing, en faisant varier dynamiquement la résolution des reflets en ray tracing selon les parties de l’image.

Image 2 : Test : Variable Rate Shading, l'astuce pour gagner en performances dans les jeux

Difficile à tester

Le Variable Rate Shading consiste à économiser des ressources GPU en effectuant un rendu moins précis des zones de l’image qui ne nécessitent pas un shading en définition native. Plusieurs cas de figure sont envisageables :

  • La zone est peu détaillée à la base : une texture presque unie et lisse, ou une partie très sombre ou très brillante. Ce manque de différence de couleurs, de contraste et de luminosité permet de ne pas rendre la zone pixel par pixel, sans que le joueur le remarque.
  • La zone est à la périphérie de l’image, et n’exige donc pas un rendu parfait, n’étant pas au centre de l’attention visuelle du joueur. C’est la logique classique du foveated rendering pour la réalité virtuelle, et pour la précédente techno Muti-Res Shading.
  • La zone est en mouvement, induisant un effet de flou qui permet de réduire la définition de shading sans que l’oeil ne le remarque. La réduction de la qualité du rendu sera encore plus camouflée par les options de motion blur (flou de mouvement que nous évitons toutefois d’activer dans les jeux) et même par l’antialiasing temporel, qui a lui aussi tendance à flouter les arrêtes en mouvement.
Image 3 : Test : Variable Rate Shading, l'astuce pour gagner en performances dans les jeux

Le VRS de NVIDIA va combiner les trois cas de figure pour économiser un maximum de ressource de shading au niveau du GPU, et ainsi augmenter les performances globales de rendu. L’un des effets sera notamment de rapprocher les nombres d’images d’images par seconde minimal, moyen et maximal, en distribuant une charge de rendu plus homogène parmi des scènes plus ou moins complexes.

Image 4 : Test : Variable Rate Shading, l'astuce pour gagner en performances dans les jeux

Il nous a donc fallu tester Wolfenstein II dans une scène qui combine plusieurs moyens d’exploiter le VRS. Une scène plutôt sombre dans certains recoins, avec une partie du décors qui bouge. Mais il faut aussi savoir que le moindre mouvement de souris implique des pixels en mouvement, et va donc impliquer une réduction de la définition du shading, pour ainsi augmenter les performances. Nous avons donc testé la scène sans bouger, et en bougeant avec l’option Equilibré du VRS, qui permet de ne pas trop dégrader la qualité visuelle de l’image dans les cas extrêmes.

Qualité de rendu

Ces premières images montrent le premier scénario possible : réduire la résolution de shading dans les zones homogènes en termes de couleurs et de contraste. Dans ce cas, le VRS est presque invisible, mais il ne constitue clairement pas la majeure partie du gain de performance possible avec cette technologie.

Ces autres images montrent que le VRS s’applique aussi dans Wolfenstein II à la périphérie du champs de vision du joueur. Ici encore, la réduction de la précision du shading est discrète, mais déjà plus notable sur une image fixe. En jeu, il est vraiment difficile de voir la différence, et le gain de performance est donc plutôt profitable, sachant que le sacrifice visuel est mineur.

Enfin, voici les images les plus notables, qui, selon nous apportent la majeure partie du gain de performance du VRS : la réduction de la définition de shading pour les zones soumises à beaucoup de mouvement. Ici, nous parlons principalement des mouvements du joueur avec sa souris. Notez sur la dernière capture la manière dont l’antialiasing temporel TSSAA 8TX estompe la perte de qualité (le flou de mouvement était désactivé).

Difficilement visible dans l’action, la réduction de la qualité de rendu est toutefois clairement notable sur une capture d’image fixe. Elle sera conditionnée par le niveau de l’option VRS choisie par l’utilisateur. Nous pensons qu’en pleine action, un VRS en mode “Equilibré” est le meilleur compromis : peu visible à l’oeil nu et profitable en termes de performances.

Exemple vidéo en jeu

Dans cette vidéo, nous résumons ces différents cas de figure, toujours avec l’option VRS en mode “Equilibré”. Toutes les options étaient au maximum, avec le flou de mouvement désactivé :

  • Notre séquence de bench par défaut (sans bouger).
  • Notre séquence de bench avec mouvements de la souris.
  • Deux séquences de jeu réelles, en mouvement. Vous pouvez faire une pause en plein déplacement pour examiner l’effet du VRS sur la précision du shading. Si vous ne remarquez pas grand chose, c’est normal, le mode Equilibré et très peu perceptible.

Performances

Configuration de test

Image 23 : Test : Variable Rate Shading, l'astuce pour gagner en performances dans les jeux
CPUCore i7-6850K, 6c/12t @ 4,3 GHz
RAM32 Go de DDR4-3200 G.Skill Trident Z CL14
Carte mèreMSI X99A GODLIKE GAMING
GPUPNY GTX 1080
PNY XLR8 RTX 2060 OC
PNY XLR8 RTX 2080 Ti OC
AlimentationCorsair RM750x
OSWindows 10 x64 dernière version
MoniteurAOC u2868Pqu FreeSync 48-62 Hz
Image 24 : Test : Variable Rate Shading, l'astuce pour gagner en performances dans les jeux

Pour tester cette technologie, nous nous sommes concentrés sur la GeForce RTX la moins puissante de NVIDIA, la RTX 2060. Ce modèle est le plus susceptible de profiter du VRS, surtout à haute définition. Nous l’avons donc testé en 4K et en QHD. Juste par curiosité, nous avons aussi testé la techno sur une RTX 2080 Ti en 4K avec toutes les options au maximum. Notez toutefois que nous avons désactivé le flou de mouvement.

Que ce soit en QHD ou en 4K avec notre PNY XLR8 RTX 2060, le jeu est jouable même sans la technologie VRS, grâce à un excellent moteur 3D que nous avons déjà pu apprécier lors de notre analyse de performance de Wolfenstein II. Nous avons souhaité mettre une GeForce GTX 1080 en face de la RTX 2060, les deux cartes étant en compétition directe. Mais alors que la GTX 1080 est souvent plus performante que la RTX 2060, ce n’est pas le cas dans Wolfenstein II. Il aurait donc été plus pertinent de confronter la carte à une Vega 56, mais nous n’en avions pas entre les mains.

Dans les deux définitions, on constate que le VRS apporte un gain de performance dès son premier niveau (mode Qualité), qui ne pose aucun problème de diminution de qualité visuelle. On peut aussi constater que le mouvement de la souris apporte les meilleures performances, ce qui montre que les avantages du VRS ne se mesurent vraiment qu’en mouvement, en plein jeu. On peut alors espérer 5 à 15 % d’images par seconde supplémentaires, en fonction de la scène affichées et des mouvements du joueur.

Dernier essai avec une GTX 2080 Ti, qui ne semble pas vraiment avoir besoin du VRS pour être à l’aise dans Wolfenstein II. Ici, on constate que le VRS permet de dépasser les 120 ips symboliques en permanence, pour profiter des écrans à fort taux de rafraîchissement.

Conclusion

La techno Variable Rate Shading n’a pas fait l’objet de beaucoup de test sur le Web, mais elle mérite pourtant le détour. A l’image de son ancêtre le Multi-Res Shading, cette techno permet d’apporter un gain de performance sans sacrifier la qualité d’une image, du moins à l’oeil nu et en pleine action. Le gain est toutefois mineur, mais s’il est “gratuit”, difficile de le refuser !

Image 46 : Test : Variable Rate Shading, l'astuce pour gagner en performances dans les jeux

Le VRS pourrait surtout profiter aux cartes graphiques les moins puissantes de NVIDIA. On pense aux prochaines GTX 1660 qui devraient sortir bientôt. La techno est assez souple, compatible DirectX 11, DirectX 12, Vulkan, et en phase d’implémentation dans des moteurs majeurs comme Unreal Engine 4 et Unity. Et surtout, elle ne nécessite pas les technos RTX pour fonctionner, l’architecture Turing pourra en profiter sans coeur Tensor ni coeur RT.

Côté jeu, certains titres auraient tout intérêt à exploiter cette technologie pour élargir les gammes de PC sur lesquelles ils peuvent tourner. On pense notamment aux jeux très grand public, eSport ou non, comme Fortnite ou Overwatch, en passant par World of Warcraft. Ces jeux sont trois exemples typiques, impliquant des mouvements rapides sur des graphismes “cartoon” aux textures simples, deux conditions qui vont grandement laisser s’exprimer le VRS. La balle est désormais dans le camps de développeurs !