Tuto n°01 : Les réglages graphiques des jeux vidéos

v08 - 05/2019

Introduction

Salut, c’est 3 potes !

Dans ce tuto, nous allons aborder les réglages graphiques dans les jeux-vidéos, et toutes les appellations obscures qui y sont liées. Le 1080p@60fps sera un jeu d’enfant. Genre Adibou. Ou Doom. Ouais, on n’a pas tous eu la même enfance.

Glossaire et abréviations

  • CG : Carte graphique.
  • FPS : Frames Per Second. Images par secondes (voir IPS).
  • GPU : Graphic Process Unit. C’est (en gros) le processeur graphique de la CG.
  • Input lag : Délai entre une action physique (exemple : clic de souris) et son affichage à l’écran (exemple : tir de fusil). Il dépend exclusivement du matériel et du fonctionnement logiciel du PC, et n’a rien à voir avec le lag (ou latence).
  • IPS : Images Par Secondes (voir FPS). (OMG UNE BOUCLE INFINIIIIIIIIE)
  • Martre : Sorte de belette vivant en Europe et en Sibérie. Voilà. Pour info.
  • Stuttering : Micro-saccades.
  • Tearing : Déchirement d’image.
  • Upscaling : Augmentation artificielle de la résolution d’une image.
  • VRAM : Video Random Access Memory. La RAM de la carte graphique.

Synchronisation verticale

Voilà un vaste sujet, qui englobe le V-sync, le FastSync, et l’Adaptative Sync. À la limite ça mériterait un tuto à part entière. Et Bim ! C’est le tuto n°02. Z’avez vu comment on se fout pas de vot’ gueule ?
Pour les plus feignants impatients, voilà les grandes lignes :

  • Aucune synchro verticale : Input lag minimal, mais présence de tearing et de stuttering pas forcément très agréable visuellement.
  • V-Sync : Elimination du tearing, mais input lag élevé et augmentation du stuttering.
  • Triple Buffering : Réduction du stuttering causé par le V-Sync mais augmentation de l’input lag.
  • FastSync : Amélioration du V-Sync qui réduit l’input lag. Supporté uniquement par les CG NVIDIA à partir de la GTX 960.
  • Adaptative sync (G-sync/Freesync) : Input lag minimal, pas de tearing, pas de stuttering. La meilleure solution aujourd’hui, mais elle peut être onéreuse. Contrairement aux solutions précédentes, celle-ci est matérielle et dépend essentiellement de l’écran.
Remarque :
Dans le cas de l’Adaptative Sync, il peut être intéressant de limiter la fréquence de rafraichissement des jeux à quelques FPS sous celles de la fréquence max de l’écran. Par exemple à 142 FPS pour un écran 144 Hz. Pourquoi ? Bah va voir le tuto 02. Allez bim. Dans tes dents. Cordialement.

Anti-aliasing (AA) (Anti-crénelage)

L’aliasing, ou crénelage en bon François, est une conséquence de la nature même des pixels : ils sont carrés. Donc pour dessiner des courbes ou des lignes inclinées, spas pratique. Un peu comme des briques : demande à un maçon de te faire un mur en brique incliné ou arrondi, et tu risques de te retrouver avec une truelle entre tes deux incisives.
Exemple sur ce magnifique dessin :

Anti-aliasing zoom
Crédit image : Wikipédia

À gauche, un « A » dessiné avec des pixels carrés. C’est moche, mais le PC fait ce qu’il peut avec ce qu’il a. À droite, le même « A » ayant subi un traitement d’anti-aliasing. Le but est de créer des dégradés pour que notre œil perçoive des contours doux. Alors forcément là non, j’ai zoomé pour l’exemple. Mais avec une taille « normale » ça passe crème mamène.

Anti-aliasing normal

T’as vu ? C’est beau les maths.

Il existe 2 types d'anti-aliasing :

  • Les AA en calcul : Ils sont calculés par le GPU en même temps que l’image est construite.
  • Les AA en post-process : Ils sont ajoutés après le calcul de l’image, comme tes retouches de gros bouton d’acné sur tes selfies de vacances au cap d’Agde.

Anti-aliasing en calcul :

  • SSAA (Super Sampling Anti-Aliasing) ou FSAA (Full Screen Anti-Aliasing) : Le plus efficace, le plus simple, le plus bourrin, le plus vieux. C’est un calcul d’une image plus grande que celle voulue, puis réduite pour correspondre à l’affichage. Par exemple, calcul d’une image UHD (3840*2160) pour ensuite la réduire en FHD (1920*1080). Autant dire que c’est très gourmand. Mais efficace. Mais gourmand.
  • MSAA (Multi-Sampling Anti-Aliasing) : Ce filtre fonctionne de la même manière que le SSAA, mais en plus intelligent. Le MSAA détecte les arêtes des objets pour n’augmenter le nombre de pixels que dans ces zones. Il est ainsi moins gourmand que le SSAA mais le résultat est un peu moins propre, vu que seules les arêtes sont traitées.
  • CSAA/EQAA (Coverage Sampling Anti-Aliasing / Enhanced Quality Anti-Aliasing) : Technologies NVIDIA/AMD. J’ai pas tout compris comment ça marche, mais en gros on obtient la même qualité que le MSAA pour un coût en calcul plus faible. Un CSAA 4x sera équivalent à un MSAA 8x.
  • DLSS (Deep Learning Super Sampling) : Technologie NVIDIA apparue sur les RTX 2xxx. Ce filtre consiste à calculer l’image dans une résolution inférieure (67% de la résolution finale), à appliquer un TAA, puis à générer un upscaling à 150%. Normalement un upscaling donne un résultat dégueu, mais NVIDIA se base sur une IA pour obtenir un résultat assez propre pour un coût de calcul très modeste. C’est l’opposé du SSAA quoi.

Anti-aliasing en post-process :

  • FXAA/MLAA (Fast Approximate Anti-Aliasing / MorphoLogical Anti-Aliasing) : Technologies NVIDIA/AMD. Floute simplement le bord des objets. C’est très peu gourmand, mais le résultat peut paraitre cheap : bords trop floutés, textures fades, … Ce filtre doit rester ta roue de secours, rien de plus.
  • T(X)AA (Temporal Anti-Aliasing) : Technologie NVIDIA qui se base sur le MSAA en y ajoutant d’autres filtres. Il demande autant de puissance que le MSAA mais permet de réduire l’aliasing de mouvement. Il peut néanmoins être perçu comme légèrement vomitif.
  • MFAA (Multi-Frame sampled AA) : Technologie NVIDIA qui se base sur le MSAA, en ajoutant une comparaison entre l’image actuelle et la précédente. Avec 2 images, un MFAA 2x aura donc la même qualité qu’un MSAA 4x pour un coût en calcul équivalent au MSAA 2x. C’est un bon compromis pour les jeux.
  • SMAA (enhanced Subpixel Morphological Anti-Aliasing) : Combine le SSAA/MSAA avec le FXAA/MLAA. Le résultat obtenu est très propre, proche du MSAA, pour un coût de calcul assez modeste, proche du FXAA. C’est le meilleur compromis si la CG, les pilotes et le jeu le supportent.

Résumé

  • La Rolls : SSAA. Super qualité mais très gourmand.
  • Les meilleurs compromis qualité/performance : SMAA ou MFAA.
  • L’exclu NVIDIA RTX 2xxx : DLSS.
  • La solution de replis : FXAA. Mais c’est bien parce que la PLSAA n’existe pas.

Quelques illustrations vidéoludiques

Pour illustrer ces propos abstraits, je t’ai tiré quelques illustrations des options de Ghost Recon Wildlands.

Pas d'AA
Pas d’AA (Crédit image : Ubisoft)
FXAA
FXAA (Crédit image : Ubisoft)
SMAA
SMAA (Crédit image : Ubisoft)
TAA
TAA (Crédit image : Ubisoft)
FXAA + SMAA
FXAA + SMAA (Crédit image : Ubisoft)

Effets de lumière

Ambiant Occlusion (AO) (Occlusion ambiante)

Il s'agit de simuler les rebonds de la lumière et d'atténuer celle-ci là où elle devrait être moins intense. L’ajout d’ombres douces dans des coins, bords ou trous crée des rendus plus réalistes et ajoute de la profondeur.

  • SSAO : Approxime l’occlusion ambiante. Assez léger, pas très fidèle.
  • HBAO/HDAO : Technologies NVIDIA/AMD. Augmente la résolution des échantillons, et améliore donc les ombres. Des scintillements peuvent apparaitre à cause de la faible résolution des ombres ajoutées
  • HBAO+ : Version avancée de NVIDIA, qui supprime les scintillements.

Autres options plus spécifiques

Ces options sont plus occasionnelles et les activer peut coûter pas mal de FPS.

  • GodRays : Simule les jolis rayons de soleil qui passent à travers les feuilles des arbres.
  • Ombres : Bah c’est des ombres. Mais c’est très gourmand, donc fais quelques tests de ton côté pour choisir le réglage à appliquer.
  • Ray-Tracing en temps réel : Technologie des NVIDIA RTX 2xxx qui apporte une gestion quasi-parfaite de la lumière. C’est trèèèèès gourmand. Du genre à diviser tes FPS par 2.

Concrétisation des explications par l’image

Pas d'AO
Pas d’AO (Crédit image : Ubisoft)
SSBC
SSBC (SSAO pimpé par Ubi) (Crédit image : Ubisoft)
HBAO+
HBAO+ (Crédit image : Ubisoft)
Pas d'ombres
Pas d'ombres (Crédit image : Ubisoft)
Ombres standard
Ombres standard (Crédit image : Ubisoft)
Ombres élevées
Ombres élevées (Crédit image : Ubisoft)
Ombres très élevées
Ombres très élevées (Crédit image : Ubisoft)
Ombres ultra
Ombres ultra (Crédit image : Ubisoft)
Ray Tracing
Ray Tracing OFF/ON (Crédit image : adrenaline.uol.com.br)

Filtrage des textures

Pour paraitre plus lisses les textures sont floutées dans le lointain, cela peut former des coupures moches entre les niveaux de flou. Plusieurs types de filtres proposent des solutions pour palier à ce problème, mais consomment un peu de VRAM :

  • Bilinéaire/Trilinéaire : Adoucit les coupures entre les niveaux de flou.
  • Anisotropique : Plus efficace que Bi/Tri, s’adapte à la direction dans laquelle on regarde (Peu gourmand, on peut l’augmenter en mode bourrin).

Exemples pictographiques

Pas de filtrage des textures
Pas de filtrage des textures (Crédit image : Ubisoft)
Filtre anisotrope X2
Filtre Anisotrope x2 (Crédit image : Ubisoft)
Filtre anisotrope X4
Filtre Anisotrope x4 (Crédit image : Ubisoft)
Filtre anisotrope X8
Filtre Anisotrope x8 (Crédit image : Ubisoft)
Filtre anisotrope X16
Filtre Anisotrope x16 (Crédit image : Ubisoft)

Conclusion

Allez, je te laisse régler tout ça et benchmarker tes jeux préférés pour trouver les meilleurs compromis. Dans tous les cas, n’oublie pas de follow, et on te fera de gros bisous virtuels <3

Exosky pour C3POtes

Les avis/remarques/corrections/ajouts sont les bienvenus. Tu peux nous envoyer un p’tit message sur nos pages de réseaux sociaux et on essaiera de te répondre si on n’est pas trop occupés à se faire spawnkill par la team adverse.

Sources

Général : https://www.cowcotland.com/topic29759.html (merci à FouloudGlioziol)
DLSS : https://www.tomshardware.fr/articles/test-dlss-upscaling-nvidia-rtx,2-2856.html
Anti-Aliasing : https://www.youtube.com/watch?v=G8oLwbLrxgk
Anti-Aliasing : https://en.wikipedia.org/wiki/Aliasing
Anti-Aliasing : http://www.pc-code.com/base/dossiers/Antialiasing_et_filtres.php
MSAA : https://mynameismjp.wordpress.com/2012/10/24/msaa-overview/
FXAA : http://www.hardocp.com/article/2011/07/18/nvidias_new_fxaa_antialiasing_technology/3#.VXsEgvk36Ul
CSAA/EQAA : https://www.tomshardware.com/reviews/anti-aliasing-nvidia-geforce-amd-radeon,2868-4.html
TXAA : https://www.nvidia.fr/object/txaa-anti-aliasing-technology-fr.html
MFAA : https://www.hardware.fr/focus/104/mfaa-nouveau-mode-antialiasing-geforce.html
SMAA : http://www.iryoku.com/smaa/downloads/SMAA-Enhanced-Subpixel-Morphological-Antialiasing.pdf
Input-Lag : https://www.blurbusters.com/gsync/gsync101-input-lag-tests-and-settings/11/
Input-Lag : https://www.hardware.fr/articles/914-3/rappel-v-sync-on-off-triple-buffering.html
Ray-Tracing : https://www.techpowerup.com/reviews/Performance_Analysis/Battlefield_V_RTX_DXR_Raytracing/4.html