Paramètres dans les jeux : avec émotion, avec sens, avec arrangement. Anti-aliasing dans les jeux. Qui peut dire quelle est la différence entre les modes d'anti-aliasing FXAA ou MSAA, CSAA

03. 09.2018

Blog de Dmitri Vassiyarov.

Qu'est-ce que l'anti-aliasing dans les jeux ou la technologie d'image confortable ?

Bonne journée à vous, mes chers lecteurs. Et aujourd'hui, j'ai préparé du matériel sur ce qu'est l'anti-aliasing dans les jeux. Cette question est l’une des plus pressantes parmi les joueurs. Car la connaissance des nuances des technologies utilisées dans ce cas permet de trouver le compromis optimal entre le coût de la plateforme matérielle, la qualité de l'image à l'écran et le réalisme du gameplay.

D’où viennent les « étapes » ?

Tout d’abord, comprenons la terminologie. De nombreuses personnes sont habituées au fait que la douceur fait référence aux caractéristiques de la texture de la surface et peut être déterminée par contact tactile. C'est moins dur. Cela signifie qu'il y a moins d'éléments sur sa surface qui dépassent une ligne conventionnelle. Quel est le rapport avec l’imagerie informatique ?

Oui, très simple.

Du fait de la pixellisation de l'image, il est quasiment impossible d'obtenir une ligne parfaitement droite qui ne soit pas coaxiale à la grille matricielle de l'écran. Prenez une feuille de papier quadrillée de votre cahier et imaginez qu'il s'agit d'une décomposition de pixels. Tracez une ligne à un angle de 45 ou 30 degrés.

Le maximum que vous puissiez apprendre est une figure qui ressemble à des marches. La même chose se produit avec toutes les lignes (droites et courbes) sur l’écran du moniteur (essayez-le dans Paint). De plus, cela est perceptible même sur les écrans haute résolution et irrite vraiment notre vue.

« Meulage » graphique des lignes

Mais il s'avère que cet effet visuel peut être nivelé grâce à la technologie d'anti-aliasing : vous devez vous assurer que les bords ne sont pas si nets. Et comme nous ne pouvons pas déplacer les pixels, il suffit, en utilisant des demi-teintes intermédiaires, de faire une transition plus douce entre deux figures multicolores.

Cette technologie « d'anticrénelage » a été créée en 1972 au Massachusetts Institute of Technology. Initialement, le développement d'Architecture Machine Group était destiné à un affichage de texte plus confortable (pour l'utilisateur).

À mesure que des produits logiciels plus avancés avec un contenu vidéo de haute qualité ont émergé, la technologie d'anticrénelage s'est également améliorée. Mais c'est avec le développement actif des jeux vidéo modernes conçus pour créer le monde virtuel le plus réaliste que de nombreuses méthodes d'anti-aliasing sont apparues. Leur utilisation combinée donne un effet vraiment étonnant, mais pour y parvenir, vous avez besoin de ressources matérielles appropriées.

Pour bien comprendre les technologies d'anticrénelage, vous devez savoir quoi et quand fait l'objet du traitement logiciel. Tout d'abord, permettez-moi de vous rappeler comment se forme l'image :

  • le modèle mathématique tridimensionnel est traité par la carte vidéo (décrit, crée et place les images impliquées dans l'image) ;
  • des textures, des détails, des ombres, des effets vidéo s'y superposent ;
  • le modèle tridimensionnel fini est rendu, ce qui permet de former une image bidimensionnelle pour l'image suivante.

L'anticrénelage peut être effectué à la fois au stade de la création d'une image spatiale tridimensionnelle et sur une image plate préparée par la carte vidéo pour être envoyée à l'écran. Il n'est pas difficile de deviner l'impact de la méthode de traitement choisie. Dans le premier cas, presque les ressources GPU et VRAM sont utilisées, mais c'est à cela qu'elles sont destinées. Sur cette base, on distingue les technologies de lissage suivantes :

Traitement avec mise à l'échelle lors de la formation d'images 3D

La première méthode, SSAA (SuperSample Anti-Aliasing), a été utilisée dans DirectX 7. Pour sélectionner les demi-teintes correctes sur les pixels de bordure, vous devez d'abord créer un modèle dans une résolution plus élevée. Ensuite, calculez les paramètres de lissage et réduisez à nouveau l'image en tenant compte du dessin des pixels limites. Qu'est-ce que cela fait et comment fonctionne l'anticrénelage ?

  • Par exemple, nous avons un champ blanc de 10 x 10 pixels dans lequel est dessiné un cercle noir (pour ce faire, nous le dessinons avec un compas, et peignons sur les carrés dans lesquels il tombe).
  • Nous allons maintenant diviser chacun de nos pixels d'origine en 4 parties (c'est-à-dire former une grille de 20 x 20) et effectuer la même opération en traçant un cercle.

  • Imaginons une situation dans laquelle 1, 2, 3 ou 4 sous-pixels seront peints à l'intérieur des pixels limites d'origine. Conformément à ces valeurs, on remplit les pixels originaux qui les unissent avec différentes nuances de gris, respectivement, avec une saturation de 25%, 50%, 75%, ou encore complètement noir.

Après cette opération, en regardant notre image d'un cercle dans une grille 10 x 10 à une certaine distance, nous verrons une figure plus uniforme (sans « échelle » le long des bords) et agréable à l'œil.

Plus le grossissement que nous utilisons pour le traitement est élevé, plus notre anti-aliasing s'avère précis et correct. En pratique, le logiciel propose des options de mise à l'échelle 2x, 4x, 8x et 16x.

Comment cela affectera-t-il le fer ?

Il n'est pas difficile de calculer que pour une image de 1280x1024, un traitement avec un facteur de 8x nécessitera une charge sur une carte vidéo correspondant à un modèle avec une résolution de 10240 x 8192 (rappelons qu'à ce stade nous travaillons avec trois- images dimensionnelles). Ce n’est donc pas un hasard si cette méthode de traitement est appelée Oversampling Smoothing. Et réfléchissez si cela vaut la peine de l'allumer , si votre PC a un matériel faible

Cette technologie ne pouvait pas rester aussi gourmande en ressources. Et comme alternative, sa version MSAA (Multisample anti-aliasing) a été proposée. Sa principale différence avec le précédent est que l'anti-aliasing n'a été appliqué qu'aux lignes et surfaces visibles (ce qui est tout à fait logique).

À la suite de ce traitement, un inconvénient important a été découvert pour les gourmets du jeu : les objets placés sous l'eau ou derrière une vitre semblaient plus clairs et plus nets.

Nvidia a décidé d'améliorer MSAA et a créé une méthode d'anti-aliasing avec échantillonnage de couverture - CSAA (Coverage Sampling anti-aliasing). Ici, les algorithmes logiciels de traitement graphique fournis dans la puce GPU elle-même sont activement utilisés.

Dans ce cas, les points des objets principaux et d'arrière-plan participent au calcul du lissage. Cette technologie permet d'économiser considérablement les ressources. Après tout, pour obtenir un résultat de haute qualité, il lui suffit d'utiliser un facteur de grossissement de l'image plus faible.

Sur la base des développements décrits ci-dessus, NVidia a créé un moyen d'effectuer un anti-aliasing dans le contexte d'une scène changeante. Cela permet, même à faible FPS, d'éliminer pratiquement les contractions et le scintillement des objets affichés dans le carré.

Il s’agit de la technologie TXAA (Temporal approXimate Anti-Aliasing). Dans l'algorithme, en tenant compte du temps, les pixels des images précédentes et traitées sont pris en compte, suivis d'une moyenne des couleurs.

Post-traitement des cadres finis

Mais il n'est pas du tout nécessaire d'appliquer un anti-aliasing aux modèles 3D volumétriques. Après tout, un traitement similaire peut être effectué après le rendu.

  • Pour ceux qui disposent d'un matériel informatique faible, NVidia a proposé une solution assez efficace, FXAA (Fast approXimate anti-aliasing). Si vous en croyez le nom, cela fonctionne assez rapidement, ce qui est obtenu en traitant des images prêtes à l'emploi. Pour les lignes de contour, des méthodes mathématiques de traitement des couleurs sont utilisées, qui permettent d'obtenir un anticrénelage prononcé. Parfois, c'est même trop « fluide », car l'inconvénient de cette méthode est un flou excessif de l'image. Néanmoins, le résultat obtenu rend l'image plus agréable qu'avant le traitement.

  • Pour ceux qui disposent généralement d'une carte graphique qui n'est pas destinée aux jeux modernes, mais qui disposent d'un processeur puissant, Intel propose son analogue de la méthode MLAA décrite ci-dessus. Le traitement est plus lent, mais les développeurs ont réussi à éliminer le flou notable.

  • Compte tenu de la tendance à l'augmentation des fps des flux vidéo, les spécialistes de NVidia ont créé la technologie MFAA (Multiframe Sampled Anti-Aliasing) spécifiquement pour ces conditions. Pour accélérer le traitement des images, un algorithme unique et simple est utilisé ici. À l'intérieur du pixel traversé par la ligne de contour, deux points conditionnels sont créés. Et en fonction de la position relative de la ligne et des marqueurs, la valeur de couleur est définie.

Je ne vous ai présenté que les méthodes d'anticrénelage les plus courantes, qui donnent une idée du processus de traitement lui-même. En fait, il existe aujourd’hui un assez grand nombre de technologies d’anticrénelage. L'histoire qui prendra beaucoup de temps.

J'espère que vous avez trouvé l'article utile et intéressant. Sur ce, je vous dis au revoir, bonne chance et bon jeu.

Les jeux modernes utilisent de plus en plus d’effets graphiques et de technologies qui améliorent l’image. Cependant, les développeurs ne prennent généralement pas la peine d’expliquer ce qu’ils font exactement. Lorsque vous ne disposez pas de l’ordinateur le plus puissant, vous devez sacrifier certaines capacités. Essayons d'examiner ce que signifient les options graphiques les plus courantes pour mieux comprendre comment libérer les ressources du PC avec un impact minimal sur les graphiques.

Filtrage anisotrope

Lorsqu'une texture est affichée sur le moniteur dans une taille différente de celle d'origine, il est nécessaire d'y insérer des pixels supplémentaires ou, au contraire, de supprimer ceux en excès. Pour ce faire, une technique appelée filtrage est utilisée.

Le filtrage bilinéaire est l'algorithme le plus simple et nécessite moins de puissance de calcul, mais produit également les pires résultats. Trilinear ajoute de la clarté, mais génère toujours des artefacts. Le filtrage anisotrope est considéré comme la méthode la plus avancée pour éliminer les distorsions notables sur les objets fortement inclinés par rapport à la caméra. Contrairement aux deux méthodes précédentes, elle combat avec succès l'effet de gradation (lorsque certaines parties de la texture sont plus floues que d'autres et que la frontière entre elles devient clairement visible). Lorsqu'on utilise un filtrage bilinéaire ou trilinéaire, la texture devient de plus en plus floue à mesure que la distance augmente, mais le filtrage anisotrope ne présente pas cet inconvénient.

Compte tenu de la quantité de données traitées (et de la présence de nombreuses textures 32 bits haute résolution dans la scène), le filtrage anisotrope est particulièrement exigeant en bande passante mémoire. Le trafic peut être réduit principalement grâce à la compression de texture, qui est désormais utilisée partout. Auparavant, lorsqu'il n'était pas pratiqué aussi souvent et que le débit de la mémoire vidéo était beaucoup plus faible, le filtrage anisotrope réduisait considérablement le nombre d'images. Sur les cartes vidéo modernes, cela n'a presque aucun effet sur les fps.

Le filtrage anisotrope n'a qu'un seul paramètre : le facteur de filtre (2x, 4x, 8x, 16x). Plus il est élevé, plus les textures paraissent claires et naturelles. Généralement, avec une valeur élevée, les petits artefacts ne sont visibles que sur les pixels les plus extérieurs des textures inclinées. Les valeurs de 4x et 8x sont généralement suffisantes pour éliminer la part du lion de la distorsion visuelle. Il est intéressant de noter que lors du passage de 8x à 16x, la pénalité en termes de performances sera assez faible, même en théorie, puisqu'un traitement supplémentaire ne sera nécessaire que pour un petit nombre de pixels non filtrés auparavant.

Shaders

Les shaders sont de petits programmes qui peuvent effectuer certaines manipulations avec une scène 3D, par exemple modifier l'éclairage, appliquer une texture, ajouter un post-traitement et d'autres effets.

Les shaders sont divisés en trois types : les vertex shaders fonctionnent avec des coordonnées, les géométrie shaders peuvent traiter non seulement des sommets individuels, mais également des formes géométriques entières composées d'un maximum de 6 sommets, les pixel shaders fonctionnent avec des pixels individuels et leurs paramètres.

Les shaders sont principalement utilisés pour créer de nouveaux effets. Sans eux, l'ensemble des opérations que les développeurs pourraient utiliser dans les jeux est très limité. En d'autres termes, l'ajout de shaders a permis d'obtenir de nouveaux effets qui n'étaient pas inclus par défaut dans la carte vidéo.

Les shaders fonctionnent de manière très productive en mode parallèle, et c'est pourquoi les adaptateurs graphiques modernes disposent de tant de processeurs de flux, également appelés shaders. Par exemple, la GeForce GTX 580 en possède jusqu'à 512.

Cartographie de parallaxe

Le Parallax Mapping est une version modifiée de la technique bien connue du bumpmapping, utilisée pour ajouter du relief aux textures. Le mappage de parallaxe ne crée pas d'objets 3D au sens habituel du terme. Par exemple, un sol ou un mur dans une scène de jeu semblera rugueux alors qu’il sera en réalité complètement plat. L'effet de relief est ici obtenu uniquement grâce à la manipulation des textures.

L'objet source ne doit pas nécessairement être plat. La méthode fonctionne sur divers objets de jeu, mais son utilisation n'est souhaitable que dans les cas où la hauteur de la surface change en douceur. Les changements soudains ne sont pas traités correctement et des artefacts apparaissent sur l'objet.

Le mappage parallaxe économise considérablement les ressources informatiques, car en utilisant des objets analogiques avec une structure 3D tout aussi détaillée, les performances des adaptateurs vidéo ne seraient pas suffisantes pour restituer les scènes en temps réel.

Cet effet est le plus souvent utilisé sur les sols en pierre, les murs, les briques et les carrelages.

Anticrénelage

Avant DirectX 8, l'anti-aliasing dans les jeux était effectué à l'aide du SuperSampling Anti-Aliasing (SSAA), également connu sous le nom d'anti-aliasing pleine scène (FSAA). Son utilisation a entraîné une diminution significative des performances, c'est pourquoi avec la sortie de DX8, il a été immédiatement abandonné et remplacé par Multisample Anti-Aliasing (MSAA). Malgré le fait que cette méthode ait donné de moins bons résultats, elle s'est avérée beaucoup plus productive que son prédécesseur. Depuis, des algorithmes plus avancés sont apparus, comme le CSAA.

Considérant qu'au cours des dernières années, les performances des cartes vidéo ont sensiblement augmenté, AMD et NVIDIA ont de nouveau rendu la prise en charge de la technologie SSAA dans leurs accélérateurs. Cependant, il ne sera pas encore possible de l'utiliser dans les jeux modernes, car le nombre d'images/s sera très faible. SSAA ne sera efficace que dans les projets des années précédentes ou en cours, mais avec des réglages modestes pour d'autres paramètres graphiques. AMD a implémenté la prise en charge SSAA uniquement pour les jeux DX9, mais dans NVIDIA, SSAA fonctionne également dans les modes DX10 et DX11.

Le principe du lissage est très simple. Avant que le cadre ne s'affiche à l'écran, certaines informations sont calculées non pas dans leur résolution native, mais dans une résolution agrandie et multiple de deux. Ensuite, le résultat est réduit à la taille requise, puis « l'échelle » le long des bords de l'objet devient moins visible. Plus l'image originale et le facteur de lissage (2x, 4x, 8x, 16x, 32x) sont élevés, moins il y aura d'effets irréguliers sur les modèles. MSAA, contrairement à FSAA, ne lisse que les bords des objets, ce qui économise considérablement les ressources de la carte vidéo. Cependant, cette technique peut laisser des artefacts à l'intérieur des polygones.

Auparavant, l'anti-aliasing réduisait toujours considérablement les images par seconde dans les jeux, mais désormais, il n'affecte que légèrement le nombre d'images et n'a parfois aucun effet.

Pavage

En utilisant la tessellation dans un modèle informatique, le nombre de polygones augmente d'un nombre arbitraire de fois. Pour ce faire, chaque polygone est divisé en plusieurs nouveaux, situés approximativement de la même manière que la surface d'origine. Cette méthode vous permet d'augmenter facilement le détail d'objets 3D simples. Dans le même temps, la charge sur l'ordinateur augmente également et, dans certains cas, de petits artefacts ne peuvent pas être exclus.

À première vue, la tessellation peut être confondue avec la cartographie Parallax. Bien qu'il s'agisse d'effets complètement différents, puisque la tessellation modifie en fait la forme géométrique d'un objet, et ne simule pas seulement le relief. De plus, il peut être utilisé pour presque n’importe quel objet, alors que l’utilisation du mappage Parallax est très limitée.

La technologie de tessellation est connue au cinéma depuis les années 80, mais elle n'a commencé à être prise en charge dans les jeux que récemment, ou plutôt après que les accélérateurs graphiques ont finalement atteint le niveau de performances requis pour pouvoir l'exécuter en temps réel.

Pour que le jeu utilise la tessellation, il nécessite une carte vidéo prenant en charge DirectX 11.

Synchronisation verticale

V-Sync est la synchronisation des images de jeu avec la fréquence de balayage vertical du moniteur. Son essence réside dans le fait qu'une image de jeu entièrement calculée est affichée à l'écran au moment où l'image y est mise à jour. Il est important que l'image suivante (si elle est déjà prête) apparaisse également au plus tard et au plus tôt à la fin de la sortie de la précédente et au début de la suivante.

Si le taux de rafraîchissement du moniteur est de 60 Hz et que la carte vidéo a le temps de restituer la scène 3D avec au moins le même nombre d'images, alors chaque rafraîchissement du moniteur affichera une nouvelle image. Autrement dit, à un intervalle de 16,66 ms, l'utilisateur verra une mise à jour complète de la scène de jeu sur l'écran.

Il faut comprendre que lorsque la synchronisation verticale est activée, les fps dans le jeu ne peuvent pas dépasser la fréquence de balayage vertical du moniteur. Si le nombre de trames est inférieur à cette valeur (dans notre cas, inférieur à 60 Hz), alors afin d'éviter des pertes de performances, il est nécessaire d'activer le triple buffering, dans lequel les trames sont calculées à l'avance et stockées dans trois tampons séparés, ce qui permet de les envoyer plus souvent à l’écran.

La tâche principale de la synchronisation verticale est d'éliminer l'effet d'un cadre décalé, qui se produit lorsque la partie inférieure de l'écran est remplie d'un cadre et la partie supérieure d'un autre, décalée par rapport au précédent.

Post-traitement

C'est le nom général de tous les effets qui sont superposés sur une image prête à l'emploi d'une scène 3D entièrement rendue (en d'autres termes, sur une image bidimensionnelle) pour améliorer la qualité de l'image finale. Le post-traitement utilise des pixel shaders et est utilisé dans les cas où des effets supplémentaires nécessitent des informations complètes sur l'ensemble de la scène. De telles techniques ne peuvent pas être appliquées isolément à des objets 3D individuels sans provoquer l'apparition d'artefacts dans le cadre.

Plage dynamique élevée (HDR)

Un effet souvent utilisé dans les scènes de jeu avec un éclairage contrasté. Si une zone de l'écran est très lumineuse et une autre très sombre, de nombreux détails dans chaque zone sont perdus et semblent monotones. Le HDR ajoute plus de gradation au cadre et permet plus de détails dans la scène. Pour l'utiliser, vous devez généralement travailler avec une gamme de couleurs plus large que celle que la précision standard de 24 bits peut fournir. Les calculs préliminaires s'effectuent avec une haute précision (64 ou 96 bits), et ce n'est qu'au stade final que l'image est ajustée à 24 bits.

Le HDR est souvent utilisé pour réaliser l’effet d’adaptation de la vision lorsqu’un héros de jeu émerge d’un tunnel sombre sur une surface bien éclairée.

Floraison

Bloom est souvent utilisé en conjonction avec HDR, et il a également un parent assez proche - Glow, c'est pourquoi ces trois techniques sont souvent confondues.

Bloom simule l'effet que l'on peut observer lors de la prise de vue de scènes très lumineuses avec des appareils photo conventionnels. Dans l’image résultante, la lumière intense semble prendre plus de volume qu’elle ne le devrait et « grimper » sur les objets même si elle se trouve derrière eux. Lors de l'utilisation de Bloom, des artefacts supplémentaires sous forme de lignes colorées peuvent apparaître sur les bordures des objets.

Grains de films

Le grain est un artefact qui se produit dans la télévision analogique avec un signal faible, sur d'anciennes bandes vidéo magnétiques ou sur des photographies (en particulier des images numériques prises dans des conditions de faible luminosité). Les joueurs désactivent souvent cet effet car il gâche quelque peu l'image au lieu de l'améliorer. Pour comprendre cela, vous pouvez exécuter Mass Effect dans chaque mode. Dans certains films d'horreur, comme Silent Hill, le bruit à l'écran ajoute au contraire de l'atmosphère.

Flou de mouvement

Flou de mouvement - l'effet de flou de l'image lorsque la caméra se déplace rapidement. Il peut être utilisé avec succès lorsque la scène doit recevoir plus de dynamique et de vitesse, il est donc particulièrement demandé dans les jeux de course. Dans les shooters, l'utilisation du flou n'est pas toujours perçue sans ambiguïté. Une utilisation appropriée du flou de mouvement peut ajouter une sensation cinématographique à ce qui se passe à l'écran.

L'effet aidera également, si nécessaire, à masquer la faible fréquence d'images et à ajouter de la fluidité au gameplay.

SSAO

L'occlusion ambiante est une technique utilisée pour rendre une scène photoréaliste en créant un éclairage plus crédible des objets qui s'y trouvent, qui prend en compte la présence d'autres objets à proximité avec leurs propres caractéristiques d'absorption et de réflexion de la lumière.

Screen Space Ambient Occlusion est une version modifiée d’Ambient Occlusion et simule également l’éclairage et l’ombrage indirects. L'apparition de SSAO était due au fait qu'au niveau actuel des performances du GPU, l'occlusion ambiante ne pouvait pas être utilisée pour restituer des scènes en temps réel. Les performances accrues de SSAO se font au prix d'une qualité inférieure, mais même cela suffit à améliorer le réalisme de l'image.

SSAO fonctionne selon un schéma simplifié, mais il présente de nombreux avantages : la méthode ne dépend pas de la complexité de la scène, n'utilise pas de RAM, peut fonctionner dans des scènes dynamiques, ne nécessite pas de prétraitement d'image et ne charge que la carte graphique. sans consommer de ressources CPU.

Ombrage cellulaire

Les jeux avec l'effet Cel shading ont commencé à être créés en 2000, et ils sont tout d'abord apparus sur les consoles. Sur PC, cette technique n'est devenue vraiment populaire que quelques années plus tard, après la sortie du célèbre jeu de tir XIII. Avec l'aide du Cel shading, chaque image se transforme pratiquement en un dessin dessiné à la main ou en un fragment d'un dessin animé pour enfants.

Les bandes dessinées sont créées dans un style similaire, cette technique est donc souvent utilisée dans les jeux qui leur sont liés. Parmi les dernières versions bien connues figure le jeu de tir Borderlands, où le Cel shading est visible à l'œil nu.

Les caractéristiques de la technologie sont l'utilisation d'un ensemble limité de couleurs, ainsi que l'absence de dégradés fluides. Le nom de l'effet vient du mot Cel (Celluloïd), c'est à dire le matériau transparent (film) sur lequel sont dessinés les films d'animation.

Profondeur de champ

La profondeur de champ est la distance entre les bords proches et éloignés de l'espace à l'intérieur de laquelle tous les objets seront mis au point, tandis que le reste de la scène sera flou.

Dans une certaine mesure, la profondeur de champ peut être observée simplement en se concentrant sur un objet proche de vos yeux. Tout ce qui se trouve derrière sera flou. L'inverse est également vrai : si vous vous concentrez sur des objets éloignés, tout ce qui se trouve devant eux deviendra flou.

Vous pouvez voir l’effet de profondeur de champ sous une forme exagérée sur certaines photographies. C’est le degré de flou que l’on tente souvent de simuler dans les scènes 3D.

Dans les jeux utilisant la profondeur de champ, le joueur ressent généralement un sentiment de présence plus fort. Par exemple, lorsqu'il regarde quelque part à travers l'herbe ou les buissons, il ne voit que de petits fragments de la scène au point, ce qui crée l'illusion de présence.

Impact sur les performances

Pour découvrir comment l'activation de certaines options affecte les performances, nous avons utilisé le benchmark de jeu Heaven DX11 Benchmark 2.5. Tous les tests ont été effectués sur un système Intel Core2 Duo e6300, GeForce GTX460 à une résolution de 1280x800 pixels (à l'exception de la synchronisation verticale, où la résolution était de 1680x1050).

Comme déjà mentionné, le filtrage anisotrope n'a pratiquement aucun effet sur le nombre d'images. La différence entre l'anisotropie désactivée et 16x n'est que de 2 images, nous recommandons donc toujours de la régler au maximum.

L'anti-aliasing dans Heaven Benchmark a réduit les fps de manière plus significative que prévu, en particulier dans le mode 8x le plus lourd. Cependant, comme 2x suffit pour améliorer sensiblement l'image, nous vous recommandons de choisir cette option si jouer à des niveaux plus élevés est inconfortable.

La tessellation, contrairement aux paramètres précédents, peut prendre une valeur arbitraire dans chaque jeu individuel. Dans Heaven Benchmark, l'image sans cela se détériore considérablement, et au niveau maximum, au contraire, elle devient un peu irréaliste. Par conséquent, vous devez définir des valeurs intermédiaires - modérées ou normales.

Une résolution plus élevée a été choisie pour la synchronisation verticale afin que les images par seconde ne soient pas limitées par le taux de rafraîchissement vertical de l'écran. Comme prévu, le nombre d'images pendant presque tout le test avec la synchronisation activée est resté fermement autour de 20 ou 30 ips. Cela est dû au fait qu'ils sont affichés simultanément avec le rafraîchissement de l'écran, et avec une fréquence de balayage de 60 Hz, cela ne peut pas être fait à chaque impulsion, mais seulement à chaque seconde (60/2 = 30 images/s) ou troisième. (60/3 = 20 images/s). Lorsque V-Sync était désactivé, le nombre d'images augmentait, mais des artefacts caractéristiques apparaissaient à l'écran. Le triple buffering n’a eu aucun effet positif sur la fluidité de la scène. Cela peut être dû au fait qu'il n'y a pas d'option dans les paramètres du pilote de la carte vidéo pour forcer la désactivation de la mise en mémoire tampon, et que la désactivation normale est ignorée par le benchmark, et qu'il utilise toujours cette fonction.

Si Heaven Benchmark était un jeu, alors avec les réglages maximum (1280x800 ; AA - 8x ; AF - 16x ; Tessellation Extreme), il serait inconfortable de jouer, car 24 images ne suffisent clairement pas pour cela. Avec une perte de qualité minimale (1280 × 800 ; AA - 2x ; AF - 16x, Tessellation Normal), vous pouvez obtenir un 45 ips plus acceptable.

Anti-aliasing dans les jeux. Qui peut dire quelle est la différence entre les modes d'anti-aliasing FXAA ou MSAA, CSAA

  1. Descali dit des bêtises ou copie une source tordue.

    Choisissez CSAA, mais SMAA glouton ou non vorace

  2. lissage que je peux expliquer cela, mais je ne peux pas
    l'anti-aliasing il lisse les bords dans les jeux, avez-vous déjà remarqué qu'aux extrémités du bâtiment quelque chose tremble un peu, pour éviter que cela ne se produise, vous devez activer l'anti-aliasing
  3. Gleb a écrit des bêtises totales. à la fois sur une éventuelle source « tordue » (vous n’avez pas remarqué le lien vers LCI ?), et sur le choix (l’auteur n’a pas demandé ce qu’il devait choisir, mais a posé des questions sur la différence). Mais camarade Gleb, plus intelligent, a décrit la même chose, en omettant la description détaillée du camarade Descali. La première et la dernière réponse au sujet, le reste sont des absurdités d'écoliers.
  4. FXAA Fast approXimate Anti-Aliasing est une solution plus puissante que le MSAA (Multi-Sampling Anti-Aliasing) traditionnel. Il s'agit d'un pixel shader en un seul passage qui calcule l'image résultante en post-traitement. Il est conçu pour être plus rapide et moins gourmand en mémoire que MSAA, payant ses avantages avec précision et qualité, même si en réalité ce n'est pas aussi effrayant qu'il y paraît.

    MSAA entraîne une qualité graphique légèrement inférieure, mais permet également d'énormes économies de puissance de traitement.

    Avec les cartes vidéo GeForce de la huitième série, le mode anti-aliasing d'échantillonnage de couverture (CSAA) a été présenté au public. Les ingénieurs de NVIDIA ont mené une série d'études qui ont montré que lors du calcul de la couleur d'un pixel de bordure, ce ne sont pas tant les valeurs de couleur des pixels voisins qui sont importantes, mais plutôt des informations précises sur l'emplacement du pixel par rapport à la couleur. frontière.

    CSAA est l'une des méthodes d'anticrénelage les plus puissantes et peut affecter les performances.

    En bref, ce sera comme ceci : MSAA - accent mis sur les performances, FXAA - équilibre entre graphisme et performances, CSAA - graphisme.
    P.S. Parfois, les modes peuvent être utilisés simultanément.

  5. Qu'est-ce que le lissage ? La réponse la plus simple est donnée par Wikipédia.
    L'anti-aliasing (AA, anti-aliasing, anti-aliasing, etc.) est une technologie utilisée pour éliminer l'effet irrégulier qui se produit sur les bords de nombreuses images plates ou tridimensionnelles affichées simultanément à l'écran. L'anticrénelage a été inventé en 1972 au Massachusetts Institute of Technology au sein de l'Architecture Machine Group.
    Pour que vous n'ayez pas à lire beaucoup de choses, je vais tout de suite vous donner les principales options d'anti-aliasing. Ils sont généralement désignés de la même manière dans les jeux.
    SSAA, MSAA, CSAA, NFAA, FXAA, DLAA, MLAA, SMAA, TXAA.

    Je vais commencer par le SSAA d'anti-aliasing le plus cool, de qualité correcte et le plus consommateur, ou en d'autres termes le Super-Sampling. Un exemple simple de consommation de ressources de cette méthode d'anti-aliasing : une résolution de 12801024 avec SSAA 4x nécessite un tampon d'écran de la même taille qu'une résolution de 25602048 sans SSAA. Il n’y a AUCUN flou de l’image. Cette méthode d'anticrénelage est également appelée FSAA. Je recommande aux propriétaires d'utiliser uniquement les PC haut de gamme (cartes vidéo).

    MSAA est une version améliorée du suréchantillonnage (SSAA). Presque la même qualité, mais nécessitant moins de ressources de carte vidéo par rapport au SSAA. Le flou de l’image est très léger, presque imperceptible. Et bien que cette méthode d'anti-aliasing nécessite moins de ressources que son premier frère, cette option AA est également recommandée aux propriétaires de cartes vidéo haut de gamme.

    CSAA développé par NVIDIA. MSAA amélioré (légèrement). La qualité de l'image est approximativement au niveau de MSAA 8x, mais en termes de ressources, elle consomme jusqu'à MSAA 4x. Le flou de l’image est léger, presque imperceptible. Le dernier jeu à l'utiliser était Star Wars Battlefront (DICE).

    FXAA est connu pour ses faibles exigences en matière de système vidéo. Ça se lisse plutôt bien, je dirais bien. Mais il y a un inconvénient qui est perceptible, par exemple par rapport au MSAA, le flou de l'image. C'est supérieur à la moyenne. Convient à ceux qui ne tolèrent pas les échelles, mais qui ne peuvent pas se permettre les algorithmes d'anticrénelage précédents.

    MLAA est un algorithme d'anticrénelage peu connu. Le seul algorithme qui s'exécute sur le processeur et non sur la carte vidéo. Cela ne dépend pas de la complexité de la scène, vous pouvez donc garantir qu'il n'y aura aucun bégaiement à aucun moment. Intel positionne MLAA comme un concurrent de MSAA. À en juger objectivement, MSAA fonctionne un peu plus lentement, mais aussi mieux. Par rapport au MLAA et au FXAA, le premier sera plus lent, mais la qualité de l'image sera sans flou notable.

    SMAA est un mélange de FXAA et de MLAA. La vitesse est comprise entre FXAA et MSAA. Il n'y a pratiquement aucun flou dans la qualité de l'image.

    TXAA est un nouvel algorithme d'anti-aliasing. Combine les avantages du MSAA et du FXAA. Développé par NVIDIA. Lisse TRÈS bien. TXAA 4x = MSAA 8x. Même si parfois le premier est encore meilleur. MAIS. TXAA rend l'image floue. La brouille. Et comparé au MSAA, ce dernier semble meilleur.

    Résultat : un algorithme d'anti-aliasing SSAA précis, mais le plus ancien. Le MSAA est de très bonne qualité, mais il consomme beaucoup de ressources. CSAA est presque de la même qualité, mais consomme moins de ressources. FXAA si votre carte vidéo ne le permet pas, mais que vous souhaitez le lisser, alors cette option est faite pour vous. MLAA, tu peux l'oublier. SMAA est une option normale, vous pouvez l'essayer. Le TXAA lisse très bien. Très. Mais le flou est très gênant. Par conséquent, je peux recommander cet algorithme si vous ne vous souciez pas du flou.

    D'ailleurs. En résolution 4K, l'anticrénelage n'est parfois pas du tout nécessaire. Ou vous pouvez utiliser le CSAA ou MSAA 2x le plus simple. Pas plus. Je me demande comment l'image évoluera dans 5 à 7 ans, lorsque la résolution 4K se généralisera. Je n'ai délibérément pas donné d'exemples de combinaison de différentes méthodes d'anti-aliasing, afin de ne pas vous prêter à confusion.

Commençons par la définition :

L'anticrénelage est une technologie utilisée pour éliminer l'effet « irrégulier » qui se produit sur les bords de nombreuses images plates ou tridimensionnelles affichées simultanément à l'écran.

Pourquoi des irrégularités se produisent-elles ? Le problème est que les moniteurs PC modernes sont constitués de pixels carrés, ce qui signifie que seules les lignes horizontales et verticales sont véritablement droites. Toutes les lignes qui forment un angle seront construites à partir de pixels diagonales les unes par rapport aux autres, ce qui provoque des « irrégularités ». Par exemple, à droite de l’image, il y a une ligne apparemment droite. Cependant, une fois qu'on l'agrandit, on se rend immédiatement compte qu'il n'est pas droit :


Qu'est-ce que cela signifie dans les jeux ? Parce que, premièrement, lors du déplacement, un effet de « scintillement » se produira - de telles lignes inégales se réorganiseront constamment, ce qui détournera l'attention du jeu et rendra l'image peu naturelle. Deuxièmement, les objets distants sembleront flous.

La question se pose immédiatement : comment supprimer ces effets désagréables ? Le moyen le plus simple consiste à réduire la taille des pixels pour une même taille d’écran (en d’autres termes, augmenter la résolution et augmenter la densité des pixels). Ensuite, les « irrégularités » apparaîtront moins et l’image paraîtra plus naturelle. Mais hélas, bien que la méthode soit simple, elle est coûteuse et pour une carte vidéo, cela représente une charge supplémentaire assez lourde. Et puis, afin d'améliorer l'image sans changer de moniteur, l'anti-aliasing a été inventé.

Types de lissage

SSAA (anticrénelage de super-échantillon)- l'anti-aliasing le plus difficile, car il décrit essentiellement la méthode de suppression des échelles, que j'ai donnée ci-dessus : avec un anti-aliasing quadruple (4x), la carte vidéo prépare une image dans une résolution quatre fois supérieure à celle qu'elle affiche sur l'écran, la couleur des pixels voisins est alors moyennée et affichée à l'écran dans la résolution d'origine. Il s'avère que la densité de pixels virtuels est deux fois plus élevée que celle de l'écran et que les escaliers cessent pratiquement d'être perceptibles. Cela affecte grandement les performances : par exemple, si la résolution d'un jeu est de 1920x1080, la carte vidéo est obligée de préparer une image en 4K - 3840x2160. Cependant, le résultat est magnifique - l'image semble vivante, il n'y a pas de scintillement :

MSAA (anticrénelage multi-échantillons)- une version améliorée de SSAA qui consomme beaucoup moins de ressources. Par exemple, pourquoi lisser ce qui se trouve à l’intérieur de la texture s’il n’y a des échelles que sur les bords ? Si la texture est une ligne droite inclinée vers le joueur, vous ne pouvez alors lisser qu'une seule zone et continuer l'effet sur tout le bord de la texture. En conséquence, la charge sur la carte vidéo devient sensiblement moindre et, en termes de gravité, même 8x MSAA s'avère nettement plus léger que 4x SSAA avec une qualité d'image comparable.

CSAA et CFAA (anticrénelage par échantillonnage de couverture et anticrénelage par filtre personnalisé)- essentiellement un MSAA légèrement amélioré de Nvidia et AMD (ils vous permettent de sélectionner des comptes de « chevauchement » de pixels supplémentaires, qui peuvent être utilisés pour clarifier la valeur de couleur finale du pixel de l'écran tombant sur le bord du triangle). 8x CSAA/CFAA offre une qualité d'image comparable à 8x MSAA, mais consomme à peu près la même quantité de ressources que 4x MSAA. Pour le moment, l'anticrénelage n'est pas utilisé - les développeurs de jeux ont décidé d'utiliser un anticrénelage unifié pour toutes les cartes vidéo.

FXAA (anticrénelage approximatif rapide)- anti-aliasing rapide et peu exigeant. L'algorithme est simple : un passage est effectué sur tous les pixels de l'image et les couleurs des pixels voisins sont moyennées. Cela charge légèrement la carte vidéo, mais brouille considérablement l'image (notez la clarté de la texture de la pierre), rendant les objets éloignés complètement méconnaissables :

Il est logique d'activer un tel anti-aliasing uniquement si vous ne supportez pas les échelles et que la carte vidéo ne prend pas en charge un meilleur anti-aliasing. Essentiellement, vous avez le choix entre le flou de l'image et les échelles.

MLAA (anticrénelage morphologique)- analogue du FXAA d'Intel. Cela fonctionne de la même manière, mais l'algorithme est plus compliqué - l'image entière est divisée en parties en forme de Z, L et U, et l'anticrénelage se produit en mélangeant les couleurs des pixels inclus dans chacune de ces parties :

Parmi les fonctionnalités, c'est le seul anti-aliasing qui fonctionne entièrement sur le processeur, il n'a donc pratiquement aucun effet sur les fps dans les jeux dotés d'un processeur puissant. En raison de l'algorithme plus complexe, la qualité d'image est supérieure à celle de FXAA, mais elle est encore loin de 2x MSAA.

SMAA (anticrénelage morphologique des sous-pixels)- un mélange de FXAA et MLAA. Essentiellement un MLAA légèrement amélioré, mais fonctionnant sur une carte vidéo (puisque le processeur est beaucoup moins adapté à l'anti-aliasing). Donne une image comparable au MLAA, meilleure que FXAA (notez les barils), mais consomme plus de ressources :

Cet anti-aliasing est un bon remplacement pour FXAA, et en termes de charge sur la carte vidéo, il se situe entre l'absence d'anti-aliasing et 2x MSAA, on espère donc qu'à l'avenir, il y aura de plus en plus de jeux avec.

TXAA (anticrénelage temporel)- nouvelle technologie d'anti-aliasing de Nvidia. Contrairement à d'autres types d'anticrénelage, qui ne fonctionnent qu'avec une seule image (c'est-à-dire avec une image fixe), celui-ci peut fonctionner avec des objets en mouvement et supprime efficacement le scintillement de l'image. Il s'agit essentiellement d'un mélange de MSAA et de SMAA, il produit une image de très haute qualité, mais il est un peu savonneux et très gourmand en ressources.

Conclusion

Au final, quel anti-aliasing dois-je choisir ? Si la carte vidéo joue très mal au jeu, soit restez sans anti-aliasing et regardez l'échelle, soit choisissez FXAA et admirez le savon. Si le système est plus puissant, mais que MSAA ne fonctionne toujours pas, vous devez choisir MLAA ou SMAA. Si la carte vidéo gère facilement 8x MSAA, vous devriez regarder SSAA ou TXAA.

Bonjour.

Il est révolu le temps où les jeux vidéo provoquaient un tourbillon d’émotions simplement parce que nous y jouions ; Le joueur est depuis longtemps devenu exigeant, notamment en ce qui concerne la qualité de l'image à l'écran. Je veux parler de l'une des composantes de cette qualité : le lissage.

La grande majorité des joueurs connaissent les « échelles » sur les bords des objets et une solution possible à ce problème : « l'anticrénelage » ou « lissage ». Ce problème est décrit en détail dans l'article de Don Woligroski Anti-Aliasing Analysis, Part 1: Settings And Surprises (traduction russe). En outre, une bonne comparaison avec des exemples de jeux de la génération actuelle de consoles de jeux provient de Digital Foundry - The Anti-Aliasing Effect (anglais). Bref, tout se résume à une chose : l'anti-aliasing est génial, la perception de l'image augmente considérablement en prix, dans les réalités modernes de l'industrie du jeu, les produits avec peu d'antialiasing ou même sans celui-ci sont dans la catégorie des hués (principalement par les fans des plateformes concurrentes, mais quand même) , mais la mise en œuvre d'un anti-aliasing de haute qualité laisse beaucoup à désirer, principalement en raison de la puissance de calcul insuffisante de l'équipement cible. Dans ce cas, bien sûr, les partisans du jeu sur PC se retrouvent dans des conditions beaucoup plus favorables, car la puissance de leur matériel n'est influencée que par le facteur matériel, mais les joueurs sur console ne manquent pas l'occasion de se moquer des joueurs PC à propos de "PC HAZ NO GAEMZ!", disent-ils, vous n'avez pas de jeux, vous jouez avec des graphiques. Je n'aborderai pas délibérément cette question, car en principe il ne peut y avoir d'arguments rationnels et objectifs en faveur du sentiment subjectif de « jeu chaud sur tube » ; c'est une question de choix personnel avec tout ce que cela implique ; Les algorithmes déjà existants et utilisés sont décrits dans les liens ci-dessus, je vais donc passer directement au sujet : qu'est-ce que le FXAA, avec quoi est-il mangé et à quel point il est savoureux.

Commençons par la théorie. Pour être très précis, FXAA n'est pas un algorithme si nouveau : il a été utilisé pour la première fois dans le MMORPG Age of Conan et est déjà apparu dans le jeu de tir F.3.A.R., mais je le considérerai comme nouveau, grâce à une solution intéressante qui Je suis tombé sous vos yeux sur un forum fréquemment visité (merci h0w1er). FXAA - F dernière approximation X imiter UN nti- UN le liasing est une solution plus productive que le MSAA (Multi-Sampling Anti-Aliasing) traditionnel. Il s'agit d'un pixel shader en un seul passage qui calcule l'image résultante en post-traitement. Il est conçu pour être plus rapide et moins gourmand en mémoire que MSAA, « payant » ses « avantages » avec précision et qualité, même si en réalité tout n'est pas aussi effrayant qu'il y paraît. FXAA présente également un certain nombre d'avantages, notamment un anticrénelage amélioré des spéculaires et des sous-pixels (nous parlons de surfaces inférieures à un pixel, les « échelles » font scintiller ces objets). Dans le livre blanc (PDF), le créateur de FXAA, Timothy Lottes, déclare que pour FXAA avec des paramètres de qualité moyenne (le « point idéal » entre qualité et performances), le post-traitement d'une image 1920 x 1200 sur la GTX 480 prend moins d'une milliseconde. Les principaux avantages de FXAA, selon Timothy, sont l'algorithme d'anticrénelage des sous-pixels FXAA, qui fonctionne mieux que dans MLAA, la suffisance du matériel de niveau DX9 pour le fonctionnement, le post-traitement des images en un seul passage et, à mon avis, le le plus intéressant est l'indépendance par rapport à l'API GPU Compute utilisée. Mais il y a un problème : la nécessité pour les développeurs d'intégrer cette technologie d'anti-aliasing dans leurs jeux, alors que les méthodes d'anti-aliasing traditionnelles fonctionnent (ou ne fonctionnent pas) au niveau du pilote. En d'autres termes, tant que les programmeurs n'utiliseront pas le code FXAA pour l'anti-aliasing dans leurs moteurs, nous n'obtiendrons pas l'effet souhaité, il était officiellement impossible d'activer FXAA de l'extérieur ; Jusqu'à récemment.

Et maintenant, pratique de danse. Vous vous entraînerez sur World of Tank, version 0.6.6.

L'option sans anti-aliasing (No AA) montre des « escalators » évidents, et bien que les modèles de chars soient assez grands et détaillés, les artefacts sont clairement visibles, en particulier sur les objets minces, qui seront discutés plus en détail ci-dessous.

L'option d'anticrénelage intégrée (Edge AA) tente de flouter les bords des objets, mais elle le fait de manière plutôt médiocre, sans compter que l'image semble un peu floue.

L'option suivante est FXAA, le résultat est évident : il n'y a pas d'artefacts sur les bords, cependant, il y a aussi un peu plus de savon par rapport à noAA, bien qu'avec EdgeAA la différence soit presque imperceptible.

Eh bien, l'option FXAA Sharpen. Gast dans la version bêta 6, j'ai ajouté un filtre de netteté tiré de , et le résultat est très correct : le savon a disparu, les textures ont commencé à paraître encore plus nettes que dans l'original, et malgré ce filtre, pratiquement aucune « échelle » n'a été ajoutée. En raison de la netteté de la texture de la tour, qui n'était pas prévue par les auteurs, la texture de la tour a été légèrement "assommée" (zone bleue), mais dans le jeu, je peux vous l'assurer, c'est absolument imperceptible.

Qu’en est-il des performances ? Oui, pratiquement rien de mal. Malheureusement, le moteur WoT vit dans son propre monde et des pics/baisses de performances peuvent apparaître à l’improviste. J'ai obtenu ce qui suit :

L'image "In Battle No AA" est ce dont j'ai parlé ci-dessus : les arbres minces crépitent à cause des artefacts, tandis que dans la version "In Battle FXAA Sharpen", les images sont beaucoup plus agréables à l'œil, à l'exception des problèmes de filtre d'affûtage, qui rétrécit les lignes trop fines dans l'épaisseur d'un cheveu, comme un viseur d'artillerie monté. Et le nombre d'images par seconde dans la version FXAA est encore plus élevé, malgré le fait que ces deux captures d'écran ont été prises à 1 seconde d'intervalle et que le char était immobile.

En fait, lors d'un test à long terme, un chiffre d'environ 10 à 12 % a été obtenu - c'est à quel point les performances diminuent lors de l'utilisation de FXAA, tandis que MSAA 4x, avec la qualité d'anticrénelage avec laquelle FXAA rivalise, donne assez souvent un chute deux fois plus grosse. Si les comparaisons sont intéressantes, d'autres chiffres et images peuvent être trouvés dans l'article NVIDIA's New FXAA Antialiasing Technology sur le site [H]ard|OCP, où j'ai glané certaines informations, et à la fin de ma brève critique, je suis d'accord avec Mark. Warner @ HardOCP : avec une bonne implémentation, FXAA a un grand avenir, en particulier sur les consoles, où les ressources sont strictement limitées, et ayant la possibilité de personnaliser la configuration d'injection à votre guise, beaucoup pourront désormais profiter de belles images dans leur jeu préféré sans l'aide des développeurs.

MISE À JOUR. Le 10 août, une injection plus personnalisable, pour ainsi dire, un « méli-mélo » des participants à la discussion, était déjà apparue.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :