Configuración de gráficos de PC explicada: MSAA vs FXAA vs SMAA vs TAA
TAA, SMAA, FXAA, MSAA, MLAA o SSAA, ¿cuál elegir? Cuatro opciones y esto es solo suavizado de lo que estamos hablando aquí. Los juegos modernos incluyen una gran cantidad de configuraciones de gráficos para elegir, con el fin de obtener el mejor rendimiento para su hardware. Además de Anti-Aliasing (AA), tiene Oclusión ambiental, Reflejos en el espacio de la pantalla, Sombras, Filtrado de texturas, Procesamiento posterior y mucho más. ¿Qué hacen todas estas configuraciones de gráficos y, lo que es más importante, cómo afectan la fidelidad visual en tus juegos favoritos? ¡Vamos a averiguar!
Nota: Puede abrir las imágenes en otra pestaña haciendo clic en ellas para verlas mejor.
Suavizado: MSAA frente a FXAA frente a SMAA frente a TAA
Comencemos con suavizado. Es una de las principales configuraciones de gráficos que encontrarás en los juegos. Tienes los tradicionales MSAA, SSAA, FXAA y las nuevas técnicas temporales (TAA) y SMAA basadas en shaders que se han convertido en la norma. Entonces, ¿qué hace el suavizado? En resumen, da a la imagen un aspecto más limpio eliminando los bordes ásperos o dentados alrededor de los objetos.
Sin AA
FXAA
Arriba hay un ejemplo de cómo FXAA (anti-aliasing aproximado rápido) mejora la calidad de la imagen al reducir las irregularidades. Amplía las imágenes y verás como la segunda es notablemente más suave. Aquí hay una comparación de cómo AA impacta tu juego. Abajo puedes ver SMAA en acción:
Sin AASMAA
Las diferencias son sutiles pero existen en toda la imagen. Compruebe el poste eléctrico y el cableado. Pierden los dientes en los bordes cuando se enciende SMAA. Los escribanos y la vegetación también reciben el mismo tratamiento. Sin embargo, a diferencia de FXAA, SMAA no es demasiado fuerte. Se deshace del aliasing, sin difuminar el detalle de la textura.
Hay dos tipos principales de técnicas de suavizado:
Métodos tradicionales basados en muestreo: Estos incluyen MSAA (Multi-sampling AA) y SSAA (Super Sampling AA), que fueron populares en la última generación y por una buena razón. Producen la mejor calidad de imagen (en términos generales), pero el impacto en el rendimiento es severo. Funcionan renderizando la imagen a una resolución más alta y luego reduciéndola para que se ajuste a la resolución nativa. Básicamente, esto hace que toda la imagen sea más nítida y detallada, reduciendo los bordes ásperos en el proceso pero sin eliminarlos por completo. Aquí hay un ejemplo:
Sin suavizado: una muestra por píxel
Super Sampling renderiza toda la imagen a una resolución más alta y luego lo reduce para ajustarse a la resolución de destino. Básicamente, está muestreando las muestras de color y profundidad cuatro veces por píxel (consulte las imágenes de arriba y abajo). La imagen se puede representar a una resolución más alta a lo largo de los ejes x e y o uno de ellos. Las variaciones de SSAA más utilizadas son 2x y 4x, aunque técnicamente también son posibles 8x y 16. El color final del píxel se determina tomando el promedio de las cuatro muestras. Esto mejora significativamente la calidad de la imagen y elimina casi por completo las irregularidades. En el lado negativo, es extremadamente costoso ya que esencialmente está renderizando la imagen a 2x o 4x la resolución nativa.
4x SSAA: muestras de cuatro colores y profundidad por píxel4x MSAA: una muestra de color y cuatro píxeles de profundidad
MSAA o muestreo múltiple es muy similar a SSAA, excepto que realiza el muestreo solo a lo largo del borde del triángulo. Al igual que SSAA, la cantidad de muestreo adicional varía de 2x a 8x. La etapa de rasterización de SSAA y MSAA es idéntica. La muestra de profundidad (búfer) de cada píxel se representa en Nx, donde N es la frecuencia de muestreo. Esto incluye pruebas de cobertura y oclusión (comprobar qué triángulos son visibles para el espectador/jugador) que se realizan a 2x/4x/8x.
La diferencia clave entre MSAA y SSAA surge en la segunda mitad de la tubería. Mientras que SSAA aplica el sombreador de píxeles a cada píxel 2x o 4x, MSAA solo ejecuta el sombreador de píxeles una vez por cada píxel. Esencialmente, “muestras múltiples” alrededor de los bordes del triángulo utilizando las pruebas de cobertura y profundidad, suavizando así los bordes en el proceso.
Una desventaja de MSAA es que no se puede usar con técnicas de iluminación diferida. que son bastante populares en los juegos modernos. La iluminación diferida o el renderizado básicamente retrasan el cálculo de la iluminación desde el sombreador de vértices hasta el sombreador de fragmentos. Esto ahorra una gran cantidad de rendimiento, ya que aplicar la iluminación sobre la base de un vértice significaría calcularla para varios millones de polígonos. En el caso de los fragmentos, por lo general se calcula en fragmentos, lo que generalmente corresponde a la resolución de salida de destino.
Representación diferidaSin AA2x MSAA
Técnicas de AA basadas en shaders: son más eficientes y no reducen mucho el rendimiento. Funcionan mezclando los píxeles vecinos (aplicando un filtro de desenfoque) a la escena, haciendo que la imagen sea más suave pero al mismo tiempo reduciendo la nitidez:
FXAA es un buen ejemplo de cómo AA basado en shaders elimina el aliasing pero también reduce el nivel de detalle. Esto se debe a que FXAA utiliza la detección de bordes basada en el contraste o la luminancia (la AA se aplica siempre que la diferencia de luminancia sea superior a un cierto umbral). Esto no es muy preciso y tiende a desenfocar los objetos con patrones complejos de varios colores. FXAA también puede tratar subpíxeles AA. Esto se hace tomando una cuadrícula cuadrada (3×3) y comparando la luminancia de los píxeles exteriores con la del píxel central. Cuanto menor sea la diferencia de contraste entre los dos, menor será el alias.
Métodos más nuevos como SMAA reduce en gran medida la intensidad del desenfoque mientras que también se come la mayoría de los jaggies. Sin embargo, adolece del mismo inconveniente que MSAA: No funciona con texturas transparentes..
Sin AA frente a FXAAMLAA
Anti-aliasing morfológico (MLAA) fue una de las primeras técnicas AA basadas en shaders en obtener una adopción generalizada. Se implementa en la última etapa de la tubería de renderizado (post-procesamiento) y funciona buscando discontinuidades (ver la línea verde perpendicular en un) y los clasifica según una serie de patrones/formas predefinidos. Luego se vuelven a vectorizar virtualmente (línea azul), lo que permite calcular las áreas de cobertura (triángulos/objetos visibles) para los píxeles involucrados.
Estas áreas luego se usan para mezclarse con un vecino, por lo tanto, suavizarlas. Los píxeles sombreados (Aquí un) obtienen un color dependiendo de los píxeles circundantes. La detección de bordes se lleva a cabo utilizando información de profundidad o luminancia, detección de patrones y cálculo de áreas de cobertura (dado por C). La detección de patrones busca los dos extremos de un borde y analiza los bordes cruzados.
Las áreas de cobertura se muestran en verde
Uno de los principales inconvenientes de MLAA es que no funciona bien con la geometría que contiene muchas líneas finas y objetos Fue diseñado para suavizar siluetas de objetos, y con características geométricas nítidas, da como resultado resultados borrosos:
SMAA se introdujo para corregir las deficiencias de FXAA (demasiado desenfoque) y MLAA (cobertura limitada), y funciona bien en la mayoría de los escenarios. Funciona aprovechando la detección de bordes basada en la luminancia específica del color y buscando los bordes en la parte superior e izquierda de cada píxel mientras recupera los otros dos de los píxeles vecinos.
SMAA utiliza múltiples (1 píxel de largo para geometría nítida y varios píxeles de largo para patrones diagonales) cruce de líneas para mejorar la detección de bordes y no solo reduce la borrosidad, sino que también mejora la cobertura. Con líneas finas y objetos propensos a desenfocarse con FXAA/MLAA, se utiliza un factor de redondeo que escala las áreas de cobertura obtenidas por los bordes cruzados de píxeles largos.
SMAA a menudo se combina con suavizado temporal (SMAA T1x/T2x) que utiliza datos temporales de fotogramas vecinos para mejorar la estabilidad y la calidad del suavizado. Además, a diferencia de MLAA, SMAA utiliza varias muestras por píxel, lo que permite mejorar la calidad de la imagen. El valor habitual es dos pero en algunos casos también se utilizan cuatro. Los siguientes modos generalmente se consideran viables para SMAA:
- SMAA 1x: incluye búsquedas de distancia precisas, adaptación de contraste local, características geométricas nítidas y detección de patrones diagonales.
- SMAA S2x: incluye todas las características de SMAA 1x más multimuestreo espacial.
- SMAA T2x: incluye todas las características de SMAA 1x más supermuestreo temporal.
- SMAA 4x: incluye todas las características de SMAA 1x más multi/supermuestreo espacial y temporal
La última y más popular forma de AA es el suavizado temporal. TAA se enfoca en eliminar el alias temporal o el brillo. Es más evidente en movimiento. El alias temporal se produce cuando la velocidad de fotogramas es demasiado baja en comparación con la velocidad de transición de los objetos en la escena. Esto hace que los límites de los objetos aparezcan en movimiento. TAA funciona comparando cuadros vecinos (temporalmente) y mezclándolos para crear una imagen más limpia en movimiento.
El cuadro actual se representa junto con la geometría y el sombreado, después de lo cual se vuelve a proyectar en la imagen anterior utilizando las compensaciones de fluctuación y los vectores de movimiento. Después de eso, se usa un filtro de rectificación para comparar el cuadro y verificar si hay imágenes fantasma y se aplican los efectos de procesamiento posterior, completando así el cuadro. De manera similar, este marco se usa para reconstruir (por reproyección) el siguiente marco consecutivo y el proceso continúa.
FSR 2.0 utiliza escalamiento temporal usando vectores de movimiento y datos de búfer de profundidad
Como TAA es esencialmente una especie de aproximación: utiliza dos imágenes para extrapolar la imagen final, también provoca una gran cantidad de desenfoque, perdiendo algunos detalles de textura en el proceso. Esto es evidente en la imagen de arriba. La imagen se procesa en diferentes fotogramas a una resolución determinada y, con cada imagen adicional, se aplica una compensación de fluctuación (cambio de cámara de unos pocos píxeles). Esto produce múltiples imágenes a partir de un solo cuadro que luego se utilizan para supermuestreo y/o aumento de escala.
La mejora temporal utiliza un método similar para mejorar las imágenes de baja resolución. La principal diferencia es que, a diferencia de TAA, los píxeles alternos se representan en fotogramas consecutivos y llenan los espacios mediante interpolación y muestras de los píxeles vecinos.
Aquí hay una comparación de FXAA vs TAA usado en la misma imagen:
TAAFXAA
Las principales ventajas de TAA sobre FXAA son más pronunciadas en movimiento. Los “dientes” en los límites de los objetos parecen moverse cuando estás en movimiento en el juego. TAA trabaja para suavizar estos artefactos, mientras que FXAA simplemente aplica un “filtro de vaselina” que, aunque es efectivo, produce líneas curvas que saltan cuando hay una transición en la escena.
Oclusión ambiental
Continua en la siguiente pagina…