Si vous ne comprenez rien aux options graphiques que l'on peut modifier dans un jeu, ce guide est fait pour vous. Il explique dans les grandes lignes ce que les options proposées aux joueurs signifient, sans pour autant être trop technique.

Ce guide est une traduction de l'article fait par PCGamer que vous pouvez retrouver ici.

La résolution d'écran

Un pixel est l'unité la plus petite d'une image digitale. C'est un minuscule point de couleur et la résolution d'écran est le nombre de colonnes et de lignes de pixels affichés sur votre moniteur.

Aujourd'hui, les résolutions les plus utilisées sont : 1280x720 (720p), 1920x1080 (1080p), 2560x1440 (1440p), et 3840 x 2160 (4K). Ce sont des résolutions 16/9 et si vous avez un écran 16/10 elles seront donc différentes : 1920×1200, 2560x1600, etc.

Les FPS (Frames per second)

Les FPS sont le nombre d'images générées chaque seconde. Ce n'est pas la même chose que le taux de rafraichissement, qui est le nombre de fois que l'image de votre moniteur est rafraichit chaque seconde, et dont la mesure s'effectue en hertz (Hz). 1 Hz est un cycle par seconde donc un moniteur fonctionnant à 60hz se rafraichit 60 fois par seconde et un jeu tournant à 60 FPS devrait afficher des nouvelles images (frames) aux même taux.

Plus vos options graphiques seront élevées, plus la carte graphique mettra de temps à les calculer et donc vous aurez moins de FPS (parfois traduit IPS pour Images Par Seconde). Si les FPS sont trop bas, cela sera inconfortable, non fluide. Les joueurs compétitifs cherchent à tout prix à avoir le plus de FPS, afin de réduire ce retard à l'affichage mais entraîne par conséquent ce qu'on appelle du tearing : un déchirement de l'image.

Pour connaitre votre nombre de FPS dans vos jeux, il existe de nombreux logiciels permettant de les afficher en temps réel. Je cite le plus connu : FRAPS.

La synchronisation verticale (Vsync) et déchirement de l'image (tearing)

Lorsque le cycle de rafraîchissement d'un écran n'est pas synchronisée avec le cycle de rendu du jeu, c'est ce qu'on appelle tearing : le déchirement de l'écran, où nous voyons des parties de deux ou plusieurs images en même temps.

Une solution à ce problème est la synchronisation verticale (Vsync). Il y a généralement cette option dans les paramètres graphiques, et cela empêche le jeu de produire d'autres images jusqu'à ce l'écran termine son cycle de rafraîchissement. Malheureusement, la Vsync provoque ses propres problèmes, l'un étant qu'il contribue à un décalage de la souris et de ce qu'il se passe à l'écran (aussi appellé input lag) lorsque le jeu tourne à un framerate plus élevé que le taux de rafraîchissement de l'écran.

La synchronisation verticale adaptive (Adaptive Vsync)

L'autre gros problème avec la Vsync c'est quand le framerate descend en dessous de la fréquence de rafraîchissement. Si le framerate est supérieur au taux de rafraîchissement, la Vsync verrouille à la fréquence de rafraîchissement: 60 images par seconde sur un écran de 60Hz. C'est très bien, mais si le framerate descend en dessous de la fréquence de rafraîchissement, la Vsync force pour sauter à une autre valeur synchronisée: 30 FPS, par exemple. Si le framerate varie constamment au dessus et en dessous du taux de rafraîchissement (ce qui arrive souvent), il cause des micro-sacades (stuttering).

Pour résoudre ça, la fonction d'NVIDIA appellée Synchronisation Verticale Adaptive désactive la Vsync à chaque fois que le framerate tombe en dessous du rafraichissement de l'écran. Cette option peut être activée dans le panneau de contrôle NVIDIA.

La technologie G-sync et FreeSync

Une nouvelle technologie est en train de résoudre ce problème majeur. Le soucis provient en fait d'une seule chose: les écrans disposent d'un taux de rafraîchissement fixe. Mais si le taux de rafraîchissement de l'écran pourrait changer avec le framerate, nous pourrions éliminer le déchirement de l'écran et éliminer le stuttering et l'input lag en même temps. Bien sûr, vous avez besoin d'une carte vidéo compatible et de l'écran qui va avec pour que cela fonctionne. Nvidia ont de leur côté développé G-Sync, tandis que chez AMD ça s'appelle FreeSync.

L'upscaling et le downsampling

SI le jeu est rendu à une résolution plus grande la résolution de l'écran, l'image va être sur-échantillonnée ( Downsamplée) et paraîtra beaucoup plus belle. Cette option existe nativement sur certains jeux comme Shadow of Mordor ou The Witcher 2. Néamoins cela à un impact important sur les performances.

En revanche, si le jeu est rendu à une résolution inférieure à la résolution de l'écran, on parle alors d'upscaling. C'est très utilisé sur les jeux sur console, notamment Red Dead Redemption qui est fortement upscalé sur PS3 et moins sur Xbox 360, ce qui rend le jeu plus joli sur cette dernière. On voit également beaucoup de jeux qui sont en 900p sur Xbox One au lieu de 1080p sur PS4 : cela signifie que le jeu sur Xbox One sera upscalée alors que celui sur PS4 non (en prenant compte que votre écran ait comme résolution native le 1080p).

Parce qu'elle détermine le nombre de pixels à rendre par votre carte graphique, la résolution a un grand impact sur les performances. C'est pourquoi les jeux sur consoles sont upscalées : les développeurs préfèrent une image moins nette mais avec un framerate plus constant.

L'anti-aliasing

Si vous tracez une ligne diagonale avec des pixels carrés, leurs bords créent un effet d'escalier. Cette laideur est appelé aliasing. Si les résolutions étaient beaucoup plus élevés, cela ne serait pas un problème, mais jusqu'à ce que la technologie d'affichage avance, nous devons compenser avec l'anti-aliasing.

Il existe de nombreuses techniques pour l'anti-aliasing, mais le supersampling (SSAA) est intéressant pour expliquer le processus. Il fonctionne en rendant les images à une résolution supérieure à la résolution de l'écran, puis les presser vers le bas à la taille. C'est la technique utilisée plus haut (downsampling). Très efficace, cet anti aliasing est également très coûteux en ressource, hélas.

Voici les autres options d'anti aliasing fréquemment proposées dans les options graphiques :

Multisampling (MSAA) : Très efficace, c'est l'anti aliasing standard et souvent utilisé.

Coverage Sampling (CSAA) : Version plus efficace que le MSSA version NVIDIA

Custom-filter (CFAA) : Même chose mais version AMD cette fois.

Fast Approximate (FXAA) : Plutôt que d'analyser les modèles 3D (comme le fait le MSAA), le FXAA est un filtre de post-traitement, ce qui signifie qu'il s'applique à l'ensemble de la scène après qu'elle a été rendue, et il est très efficace. On peut notter, selon les jeux, une sorte de flou lié à ce filtre.

Morphological (MLAA) : Disponible avec les cartes AMD, le MLAA permet aussi d'éviter l'étape de rendu et traite directement la scène, la recherche de l'aliasing et le lissage. Cette option peut être activée dans le panneau de contrôle Catalyst.

Enhanced Subpixel Morphological (SMAA) : Une autre méthode de post-traitement, décrit comme une combinaison MLAA avec MSAA et SSAA. Vous pouvez l'appliquer avec SweetFX.

Temporal (TXAA) : Pris en charge sur les GPU Kepler de Nvidia, TXAA combine MSAA avec d'autres filtres, et peut aider à réduire le mouvement scintillant sur les bords, qui ressemble un peu à des fourmis en marche.

Multi-Frame (MFAA) : Nouvelle technologie de NVIDIA, exclusive aux GPU Maxwell. Cette vidéo explique sont fonctionnement :

Que signifient les chiffres (2x, 4x, 8x...) ?

Les paramètres d'anti-aliasing comprennent presque toujours une série de valeurs: 2x, 4x, 8x, et ainsi de suite. Les chiffres se réfèrent au nombre d'échantillons de couleur qui sont prises, et en général, plus le nombre est élevé, plus précis (et coûteux en calcul) l'anti-aliasing sera.

Voici un benchmark utilisé sur Batman: Arkham City pour tester quelques anti-aliasing : MSAA, FXAA, et TXAA. Les résultats montrent que le FXAA est le moins gourmand au contraire du MSAA et TXAA.

Quel anti-aliasing utiliser ?

Question difficile, et cela dépend de votre GPU et de vos préférences. Si je devais classer les anti-aliasing de moins souhaitable à plus souhaitable (en ignorant les technologies propres de Nvidia et AMD ), ce serait : FXAA, MLAA, MSAA, CFAA, CSAA, TXAA. Dans certains jeux, vous trouverez peut-être FXAA ou MLAA plus agréable que MSAA et vice versa. A vous d'essayer celui qui vous convient le mieux. Si le framerate est un problème, le choix est évident: FXAA est un bon compromis entre efficacité et performance.

Le filtrage bilinéaire et trilinéaire

Le filtrage de texture implique comment une texture (une image 2D) est affichée sur un modèle 3D. Un pixel sur un modèle 3D ne correspond pas forcément directement à un pixel sur sa texture (appellé texel pour clarifier), parce que vous pouvez voir le modèle sur des angles et distances différents. La méthode la plus simple de filtrage de texture est le filtrage bilinéaire : lorsqu'un pixel se situe entre des texels, il échantillonne les quatre texels les plus proches afin de trouver sa couleur.

On voit clairement qu'après la ligne blanche, ça devient flou. Ici, un simple filtre bilinéaire a été appliqué.

Quand vous regardez loin dans un jeu, par exemple quand une route s'éloigne vers l'horizon, il ne serait pas logique d'échantillonner une texture haute résolution alors que nous voyons seulement quelques pixels de route. Pour améliorer les performances (et éviter l'aliasing) sans perdre trop de qualité visuelle, le jeu utilise une texture de résolution inférieure appellé mipmaping pour les objets éloignés.

Lorsque l'on regarde cette route en béton, nous ne souhaitons pas que l'on remarque où le mipmap se termine et un autre commence, parce que ça ne serait pas très beau ni immersif. Le filtrage bilinéaire n'interpole pas entre les mipmaps, d'où la différence avant et après la ligne blanche. Ceci est résolu avec le filtrage trilinéaire, qui lisse la transition entre mipmaps.

Le filtrage anisotrope

Le filtrage trilinéaire aide, mais le terrain semble encore tout flou. C'est pourquoi nous utilisons le filtrage anisotrope, ce qui améliore considérablement la qualité de la texture à des angles obliques.

Que signifient les chiffres (2x, 4x, 8x...) ?

Le filtrage anisotrope est généralement modifiable en 2x, 4x, 8x, 16x. Nvidia décrit ces fréquences d'échantillonnage comme se référant à l'inclinaison de l'angle.

Le filtrage anisotrope peut fonctionner avec des niveaux d'anisotropie entre 1 et 16, définissant le degré maximal dont un mipmap peut être scalé, mais le filtrage anisotrope est généralement proposé dans des puissances de deux: 2x, 4x, 8x et 16x. La différence entre ces paramètres est l'angle maximal que le filtrage anisotrope va filtrer. Par exemple, un filtrage 4x va filtrer les textures à des angles deux fois plus forts que le filtrage 2x, mais va encore appliquer le filtrage de 2x pour les textures qui sont dans la plage d'un filtrage 2x pour optimiser les performances.

Le filtrage anisotrope demandera à votre système plus de ressources que le filtrage bilinéaire ou le filtrage trilinéaire, mais ce n'est pas autant demandeur que pour l'anti-aliasing. Avec l'utilisation de l'outil d'analyse comparatif de BioShock Infinite, j'ai pu constater une baisse moyenne de 6 FPS entre le filtrage bilinéaire et le filtrage anisotrope 16x. Ce n'est pas beaucoup compte tenu de l'augmentation considérable de la qualité.

Sur quoi agit les paramètres de qualité dépend grandement des jeux. En général, ils augmentent et abaissent la complexité de rendu des effets visuels et des assets (fichiers son, image, texte, vidéo, etc. qui composent un jeu). Augmenter la qualité des ombres, par exemple, peut accroître la résolution des ombres, activer des ombres douces, augmenter la distance à laquelle les ombres sont visibles, etc... Ces options peuvent avoir un effet significatif sur les performances.

La qualité des textures, qui abaisse et augmente la résolution des textures, tend à beaucoup affecter les performances mais aussi la qualité visuelle. Voici un benchmark de BioShock Infinite avec avec tous les paramètres définis à élevé, en changeant seulement la qualité de la texture, pour avoir une idée de la façon dont il est coûteux en ressources.

 

Il y a un écart de 11 FPS moyens entre «très faible» et «ultra». Pas trop mal, mais cela varie de système à système. Il ya pas de méthode pour déterminer les meilleurs paramètres de qualité pour votre système, essayez en élevant progressivement la qualité des textures, l'éclairage et les ombres et de vérifier votre framerate à chaque modification.

L'occlusion ambiante

L'éclairage ambiant expose chaque objet dans une scène à une lumière uniforme. Il est jumelé avec la lumière directionnelle pour créer la profondeur, alors qu'en réalité c'est plat.

L'occlusion ambiante tente d'améliorer l'effet de lumière en déterminant quelles parties de la scène ne doivent pas être autant exposés à la lumière ambiante que les autres. Il noircit les intérieurs et les trous via des ombres douces et diffusées.

Le SSAO (Screen space ambient occlusion) est une approximation de l'occlusion ambiante utilisée dans le rendu en temps réel, et est devenu monnaie courante dans les jeux au cours des dernières années. Il a été d'abord utilisé dans Crysis. Parfois, il ne semble pas convaincant, et apparaît comme si tous les objets possédaient  un filtre sombre autour d'eux. D'autres fois, il est efficace en ajoutant de la profondeur à la scène. Tous les principaux moteurs graphiques le prenne en charge, et son succès varie selon le jeu et son application dans le jeu.

L'effet HDR (High Dynamic Range)

Le HDR était à la mode dans la photographie il ya quelques années. Il se réfère à la gamme de luminosité d'une image. L'objectif est que les zones les plus sombres soient aussi détaillées que les zones les plus claires. Une image à faible HDR peut montrer beaucoup de détails dans la partie éclairée d'une pièce, mais tout perdre dans l'ombre, ou vice versa.

Le flou lumineux (Bloom)

Le fameux (et très utilisé) effet de bloom tente de simuler la façon dont la lumière vive peut "déborder des bords" de l'écran, et qui rend les sources de lumière plus claires que ce qu'elles sont rééllement. Cela peut fonctionner, mais trop souvent cet effet est appliqué avec trop d'approximation, et chaque petite lampe dans un couloir sombre éblouit comme le ferait  une explosion nucléaire ! Heureusement, la plupart des jeux offrent la possibilité de le désactiver.

L'effet de flou cinétique (motion blur)

Le motion blur est assez explicite : c'est une technique consistant à accentuer le flou d'une image lorsque des mouvements sont affichés à l'écran afin d'accentuer l'impression de rapidité de déplacement. Beaucoup de joueurs préfèrent la désactiver car elle n'est pas très pertinente et n'apporte rien d'intéressant par rapport à son coût en performance.

La profondeur de champ (depth of field)

Dans les jeux, le DOF a pour effet de brouiller les choses en arrière-plan. Il peut également affecter les performances de manière significative en fonction de la façon dont il est mis en ½uvre.

Conclusion

Comment ces paramètres influent sur la qualité visuelle varie d'un jeu à l'autre et comment ils affectent les performances varie d'un système à l'autre. Ce qui est important est d'être capable de sélectionner les options graphiques et de comprendre à quoi elles correspondent. J'espère que ce guide vous permettra d'y voir plus clair désormais.

N'hésitez pas à faire part en commentaire d'éventuelles remarques.