Post

⚙️ Les Anti-Aliasing : Historique et Descriptions

Historique et descriptions des différents anti-aliasing marquants à travers l'histoire jusqu'à l'avènement des moteurs modernes dépendants du TAA et de l'IA.

⚙️ Les Anti-Aliasing : Historique et Descriptions

1. Qu’est-ce que l’Anti-Aliasing ?

Pour comprendre l’importance de l’Anti-Aliasing (AA), il faut revenir à un problème mathématique et physique fondamental : la nature de nos écrans.

Le moteur d’un jeu vidéo calcule une scène en trois dimensions à l’aide de vecteurs et de coordonnées géométriques d’une précision infinie. C’est un monde de lignes analogiques et continues. Le problème, c’est que pour afficher ce monde, votre carte graphique doit le projeter sur une dalle de moniteur composée d’une grille rigide de carrés fixes : les pixels.

Tenter de faire rentrer des courbes fluides et des diagonales parfaites dans une grille de carrés discrets, c’est comme essayer de dessiner un cercle parfait avec des blocs de LEGO. C’est de ce décalage mathématique que naît l’aliasing (ou crénelage).

Image d'aliasing

L’Anti-Aliasing est l’ensemble des techniques algorithmiques qui tentent de masquer cette transition brutale pour tromper notre œil. C’est l’une des technologies les plus cruciales du jeu vidéo moderne, car sans elle, l’immersion visuelle s’effondre sous deux formes bien distinctes :

L’aliasing spatial : L’effet d’escalier

C’est le défaut le plus connu, celui que l’on observe sur une image fixe. Lorsqu’une ligne polygonale traverse une rangée de pixels en diagonale, la carte graphique doit décider si le pixel est “dedans” ou “dehors”. Faute de nuance, le résultat est une succession de marches d’escalier très nettes et contrastées. Plus la résolution de l’écran est basse, plus ces marches sont grosses et visibles.

L’aliasing temporel : Le scintillement en mouvement

C’est le véritable fléau du joueur, celui qui se manifeste dès que la caméra bouge, même d’un millimètre. Lorsqu’un objet fin (comme un fil de fer, une barrière au loin ou des feuillages) se déplace sur la grille de pixels, les polygones passent d’un pixel à l’autre d’une image à l’autre. Visuellement, cela se traduit par un fourmillement violent, un effet de “chenille” ou un scintillement agressif de l’image. C’est cette instabilité que les moteurs modernes cherchent à tout prix à éradiquer.


2. Les trois grandes familles d’Anti-Aliasing

Pour trier la jungle des acronymes (MSAA, FXAA, TAA…), il faut comprendre qu’ils se séparent en trois grandes philosophies de calcul. Chacune intervient à un moment différent du pipeline de rendu de la carte graphique.

A. Les Spatiaux / Analytiques : Le calcul à la source

Ces algorithmes s’attaquent directement à la géométrie de la scène 3D pendant que la carte graphique est en train de la dessiner.

  • Les technologies liées : SSAA (Supersampling), MSAA (Multisampling).
  • Le principe : Ils augmentent la précision du calcul là où ça coince (les bords des objets). Soit en calculant l’image entière dans une résolution gigantesque avant de la rétrécir, soit en multipliant les points de calcul uniquement sur les arêtes des polygones.
  • Le compromis : Une netteté et une fidélité mathématique absolues. Les textures restent nettes, aucun flou n’est ajouté. En revanche, le coût en ressources (VRAM et puissance brute) est colossal.

B. Les Post-Processing : Le filtre 2D intelligent

Ces techniques n’ont aucune idée de ce qu’est la 3D. Elles interviennent tout à la fin, une fois que l’image est totalement calculée et “plate”.

  • Les technologies liées : FXAA, SMAA.
  • Le principe : Un script analyse l’image finale pixel par pixel, repère les contrastes violents (qui trahissent un effet d’escalier) et applique un flou ultra-sélectif pour lisser la transition.
  • Le compromis : Un coût en performance quasiment nul (gagné d’avance pour les petites configs). Le problème, c’est que l’algorithme se trompe parfois et floute des éléments qui devaient rester nets, comme du texte ou des textures fines.

C. Les Temporels : La mémoire de l’image

La méthode moderne. Elle introduit la notion de temps dans le calcul.

  • Les technologies liées : TAA (Temporal AA), SMAA 2TX, DLAA, FSR Native AA, XeSS Native.
  • Le principe : Au lieu de n’analyser que l’image actuelle, l’algorithme compare l’image présente avec les images précédentes. En appliquant un léger décalage des pixels à chaque frame (le jittering), il recrée une image stable en fusionnant le passé et le présent.
  • Le compromis : Élimination totale du scintillement en mouvement. Le revers de la médaille : un effet de traînée (ghosting) et un flou prononcé dès que la caméra pivote rapidement.

3. Du Graal au cache-misère : Chronologie des AA marquants

Maintenant que la théorie est posée, voyons comment ces technologies se sont affrontées sur nos configurations.

Le SSAA (Supersampling) : La force brute originelle

Le patriarche. Le SSAA consiste à calculer le jeu en interne à une résolution bien supérieure (par exemple du 4K pour un affichage sur un écran 1080p). C’est parfait, c’est propre, mais c’est évidemment un gouffre en ressources. Activer le SSAA revenait à diviser ses FPS par deux ou trois : c’est le coût logique d’un calcul en 4K native, même si on possède un écran Full HD.

Très vite devenu obsolète pour les productions contemporaines, il survit aujourd’hui sous la forme du Downsampling (le DSR chez Nvidia ou le VSR chez AMD). Ces technologies de pilotes sont principalement utilisées de nos jours pour offrir un anti-aliasing digne de ce nom à des jeux d’une époque reculée qui en étaient dépourvus. À part pour le rétro-gaming et le modding de vieux titres, le supersampling n’a plus vraiment de place dans le paysage moderne.

Le MSAA (Multisampling) : Le roi déchu et le cas d’école Crysis 3

Le MSAA a été le standard de l’industrie pendant des années. Son coup de génie ? Offrir la pureté mathématique du supersampling, mais uniquement sur les contours des polygones, laissant le centre des textures tranquille. C’était le compromis idéal… jusqu’à ce que l’industrie bascule vers le Deferred Rendering (rendu différé), l’architecture moderne qui gère les dizaines de lumières dynamiques de nos jeux.

Contrairement à une idée reçue tenace, le MSAA n’est pas intrinsèquement incompatible avec le rendu différé. En revanche, son intégration demande une optimisation chirurgicale du pipeline de rendu, ce qui rend son implémentation beaucoup plus complexe et coûteuse pour les studios. C’est ici qu’intervient l’épisode Crysis 3 (2013), qui a largement contribué à bâtir la mauvaise réputation du MSAA pour de très mauvaises raisons.

On continue à brandir ce jeu pour prouver que le MSAA était un tueur de performances obsolète. L’analyse technique de son pipeline prouve pourtant que le tort revenait entièrement au moteur de Crytek, qui cumulait les fautes lourdes :

  • Une mauvaise gestion de la géométrie : Le moteur intégrait des feuillages ultra-denses et non optimisés dès les premières passes de calcul, doublant instantanément la charge du GPU dès qu’on activait le MSAA.
  • Des tampons corrompus : Pour s’aligner sur les limites des consoles de l’époque, le jeu compressait agressivement ses textures de base. Le MSAA se retrouvait à lisser des pixels déjà détériorés, générant des artefacts visuels violets et verts sur les contours.
  • Un sabotage par le post-processing : L’occlusion ambiante (AO) était appliquée tout à la fin à la simple fréquence du pixel, écrasant et détruisant purement et simplement le lissage géométrique que le MSAA venait de calculer.

Le cas Crysis 3 est un pur problème d’optimisation de pipeline, pas une limite de la technologie. Des jeux comme Half-Life: Alyx ont prouvé plus tard qu’un rendu différé moderne, pensé pour le MSAA, offre une image d’une clarté absolue pour un coût maîtrisé.

Si le MSAA a finalement été abandonné par l’industrie, c’est avant tout par opportunisme économique. Configurer un pipeline compatible avec le MSAA demande du temps, de l’argent et de la rigueur technique. Face à cela, le TAA et les solutions temporelles sont arrivés comme une bénédiction pour les studios : une solution “prête à l’emploi”, infiniment moins complexe à intégrer, qui pardonne les pipelines mal optimisés et permet d’activer des effets lourds à moindre coût.

Le FXAA : Le sauveur low-cost (et l’effet vaseline)

Arrive alors le FXAA, développé par Nvidia. Un algorithme de post-processing pur. Sa promesse : éliminer les escaliers pour zéro FPS de perte. Ce fut un carton absolu sur les consoles de l’ère PS3/Xbox 360 à l’agonie. Mais les joueurs PC ont vite déchanté. Le FXAA applique un flou global tellement agressif qu’il donne l’impression d’avoir étalé de la purée sur l’écran, détruisant tout le piqué de l’image.

Le SMAA : Le compromis chirurgical

Pour corriger les errances du FXAA, le SMAA est arrivé avec une bien meilleure détection des formes. Au lieu de flouter au hasard, il analyse les structures géométriques de l’image (les formes en L, en Z ou en U) pour ne lisser que ce qui est nécessaire. C’est le digne héritier du post-processing : il respecte la netteté d’origine. C’est d’ailleurs pour cela qu’il reste aujourd’hui le favori absolu des utilisateurs de ReShade.


4. L’avènement du TAA : Le règne du flou et du cache-misère structurel

Si le Temporal Anti-Aliasing (TAA) a fini par rouler sur toute l’industrie au milieu des années 2010, ce n’est pas parce que les joueurs réclamaient une image plus douce. C’est avant tout parce que les moteurs de jeu modernes — Unreal Engine en tête — sont devenus techniquement dépendants de lui pour fonctionner.

À ses débuts, avec un historique basé sur “seulement” 8 frames, le TAA était assez performant. S’il n’atteignait pas la pureté d’un MSAA ou la netteté d’un SMAA, il restait visuellement acceptable.

Malheureusement, cela n’a pas duré. Pour compenser un dithering (bruit de trame) toujours plus dense et omniprésent à mesure que les technologies de rendu se multipliaient — souvent trop lourdes, mal optimisées ou mal intégrées —, il a fallu augmenter drastiquement la temporalité. En passant à 16, voire 32 frames historiques, les développeurs ont ressuscité ce fameux piqué typé “FXAA” qui ne nous avait absolument pas manqué, tout en tentant de nous vendre les filtres de sharpening intégrés au DLSS et consorts comme des technologies miraculeuses.

Le TAA est ainsi le premier anti-aliasing à s’être transformé en une brique structurelle des moteurs 3D modernes, UE5 en tête. En accumulant et en mélangeant les données des images précédentes, il agit comme un fer à repasser temporel. Il ne se contente plus de lisser les bords des polygones : il finit de dessiner le jeu. Il comble les trous, stabilise le bruit des reflets et unifie le signal. Sans lui, l’image de la majorité des productions AAA modernes s’effondrerait et croulerait sous le bruit visuel.

Le problème, c’est qu’en troquant l’aliasing géométrique contre une accumulation massive d’images passées, l’industrie a définitivement acté la perte du piqué et de la netteté dès que la caméra s’anime.

(Pour comprendre en détail les rouages de cette technologie, je vous renvoie à mon article sur le sujet.


5. ReShade en sauveur : La résistance face à la dictature du flou

Face à cette perte généralisée de piqué, la communauté des joueurs PC ne s’est pas avouée vaincue. C’est ici qu’entre en scène ReShade, l’injecteur de shaders tiers, devenu le bastion de la résistance contre le flou algorithmique imposé par les studios.

Pour tenter de libérer l’image de sa gangue de vaseline, les joueurs ont développé une routine de bidouille bien précise : le combo “Anti-TAA + MSAA + Sharpener”. Bien sûr, chaque jeu aura sa propre vérité sur les effets précis qui composeront ce mélange, mais le but reste invariablement le même : lutter contre le flou et la perte de détails provoquée par la moyenne temporelle.

Ce bricolage à grande échelle est le révélateur absolu du problème moderne : on en est arrivés à un point absurde où les joueurs doivent injecter des filtres tiers pour corriger les filtres natifs du jeu, tentant de simuler la clarté d’un rendu d’il y a dix ans sur des moteurs de génération actuelle.


6. Les alternatives modernes et propriétaires : L’ère de l’injection par IA

Conscients des limites destructrices du TAA classique, les constructeurs de puces graphiques y ont vu un bon créneau pour vendre une technologie propriétaire. Tout était en place, il ne manquait plus qu’à appeler le réseau de neurones à la rescousse. C’est l’entrée dans l’ère des anti-aliasing dopés à l’intelligence artificielle.

Le DLAA (Deep Learning Anti-Aliasing) de NVIDIA

Le DLAA est sans doute la réponse la plus logique au problème du flou moderne. Le principe est simple : Nvidia reprend exactement le modèle de reconstruction temporelle et le réseau de neurones de son célèbre DLSS, mais coupe la brique d’upscaling. Le jeu est calculé à 100 % de sa résolution native, et l’IA utilise les Tensor Cores du GPU pour stabiliser le signal et lisser les arêtes. On a donc un résultat moins flou, un TAA dopé à l’IA. Évidemment, le DLAA conserve également le sharpener de bout de chaîne du DLSS et ajoute en plus une couche de piqué en post-process pour bien démontrer que l’image est “meilleure”. Les ressources consommées sont bien plus grandes, mais c’est le prix de la netteté actuelle pour ceux qui peuvent se le permettre.

Mais ne nous y trompons pas non plus : si ces AA par IA sont un véritable plus, la source reste mauvaise. Le bruit n’est pas de l’information visuelle viable, c’est juste du bruit, une perte. Si le TAA tentait de reconstruire ses données perdues dans le bruit simplement par moyenne, et que les modèles neuronaux tentent aujourd’hui de les reconstruire par mimétisme, cela reste de la reconstruction. Les moteurs 3D modernes sortent des images bruitées avec beaucoup moins de fidélité visuelle et d’informations réelles que ceux d’il y a 15 ans, et rien ne pourra compenser cela.

FSR Native AA et XeSS Native

Face à l’offensive de Nvidia, la concurrence a dû réagir avec des équivalents ouverts. AMD (avec son mode Native AA intégré au FSR) et Intel (avec le XeSS à résolution native) proposent la même philosophie : utiliser leurs algorithmes d’accumulation spatio-temporelle de pointe uniquement pour nettoyer le signal d’origine, sans toucher à la définition de l’image.

Ces technologies viennent par opportunisme tenter de poser un pansement — qui coûte cher tant en ressources qu’en matériel — sur un problème que l’industrie a elle-même créé, tout en nous vendant ça comme le progrès. C’est un constat un peu dur, mais qui saute aux yeux lorsque l’on adopte une vue d’ensemble.


7. Conclusion : Coincés avec le temporel pour longtemps ?

Quiconque a déjà relancé un jeu du début des années 2010 configuré avec un MSAA ou un SSAA propre a forcément subi un véritable choc visuel. Le choc de la netteté brute.

Pourtant, un retour en arrière est aujourd’hui techniquement impossible. Le coupable, nous l’avons vu, c’est l’effondrement du ratio signal/bruit au sein des moteurs 3D modernes. L’arrivée massive d’effets et de techniques de rendu en temps réel conçus pour générer du bruit rend le signal de base inutilisable. Le rendu brut d’un jeu moderne est maintenant en grande partie un immense nuage de points clignotants et instables. Le temporel n’est donc plus négociable : il est devenu une norme indispensable.

C’est le constat majeur de cette décennie : l’Anti-Aliasing a changé de nature. Ce n’est plus une simple option graphique de confort que l’on coche ou que l’on choisit dans une liste suivant la puissance dont on dispose. Il est devenu un pilier structurel indispensable à la cohérence visuelle des jeux modernes.

En accepting ce pacte faustien, l’industrie a fait aussi du flou sa nouvelle norme. Pour masquer les dégâts de cette moyenne temporelle obligatoire étalée sur des dizaines de frames passées, on nous impose désormais des filtres de sharpening propriétaires en bout de chaîne, vendus comme des miracles technologiques alors qu’ils ne sont que les pansements de fortune d’une image qui ne sait plus se dessiner au présent. Nous sommes bel et bien coincés avec le temporel, et le pixel natif appartient sûrement à l’histoire.

This post is licensed under CC BY 4.0 by the author.