Antialiasing: ¿Cómo mejora los gráficos de los juegos?

El Aliasing es un efecto que se produce al dibujar imágenes digitalmente, estas imágenes son representadas mediante píxeles que en ocasiones pueden mostrar dientes de sierra en los bordes. En los juegos también se produce este efecto, ya que las imágenes son dibujadas digitalmente. Pero existen métodos para evitar que aparezcan estos dientes de sierra, estos se llaman filtros AntiAliasing. En esta guía os vamos a contar cómo el Antialiasing mejora la calidad de los juegos.

Los juegos, al igual que mejoran los FPS mediante técnicas de escalado basadas en algoritmos o inteligencia artificial, también pueden mejorar este tipo de efecto que se producen al dibujar líneas en imágenes en movimiento muy rápidas, esto lo llamamos AntiAliasing. Con el Antialiasing se pretende reducir los dientes de sierra en las imágenes mediante suavizado de estas. Veamos en que consiste.

El Aliasing es un efecto que lleva presente desde que comenzaron los juegos en 3D. Al dibujar líneas u objetos de manera rápida, estas no representan los bordes con exactitud, ya que las imágenes se representan con diminutos cuadros llamados píxeles. A medida que la velocidad de los fotogramas crece, el Aliasing es un efecto que se acentúa más, ya que la gráfica debe representar con mayor rapidez las imágenes.

AntiAliasing 1x

Cuando usamos una resolución mayor en los juegos, este efecto se ve reducido. Al utilizar más píxeles para dibujar estas líneas el efecto se reduce considerablemente. Podríamos subir la resolución hasta que desaparezca, pero esto necesitaría de una potencia de gráficos muy alta. También tenemos el problema de que, a mayor resolución de gráficos, la velocidad de los FPS disminuye considerablemente.

AntiAliasing 16x

Para esto existe el AntiAliasing, esta técnica disimulará los dientes de sierra que dibujan las imágenes cuando se procesan rápidamente o con menor resolución. Existen varios métodos, desde más antiguos y rudimentarios, hasta modernos algoritmos que han elaborado los propios fabricantes de GPUs optimizados para su propio hardware.

Veamos cuales son estos métodos y cómo funcionan.

Comenzaremos viendo las diferentes técnicas que se emplean para realizar este suavizado de bordes que apaciguan el efecto de dientes de sierra o aliasing que aparece en los juegos. Existen métodos muy antiguos y efectivos, pero con las actuales tecnologías se han quedado desfasados y se han ido mejorando o añadiendo otros mucho más optimizados para hardware más moderno.

SSAA o SuperSampling Anti Aliasing

También conocido como supermuestreo anti aliasing o anti aliasing de escena completa. Es un método muy antiguo que consiste en renderizar las imágenes del juego a una resolución mayor y luego adaptarlas a la resolución del monitor. Aquí se emplea la técnica del vecino más cercano, consiste en obtener el píxel que está alrededor y realizar la media aritmética para reducir la imagen de tamaño.

Con este filtro se hace trabajar más a la gráfica, por lo que el impacto con este tipo de filtro es mayor. Actualmente se usa para aplicar filtros de suavizado a juegos antiguos que no tienen esta opción de AntiAliasing.

MSAA o MultiSample Anti Aliasing

Este filtro se basa en el anterior SSAA, pero está aplicado únicamente donde realmente se necesita. Generalmente los dientes de sierra o aliasing aparecen en los bordes de las imágenes, con SSAA el filtro se aplica a toda la imagen, pero con MSAA únicamente nos centramos en mejorar estas partes que más se nota este efecto. ¿Cómo se consigue esto?

Al generar imágenes planas a partir de escenas 3D se guarda la información de profundidad, esta se usa para determinar donde está el borde y aplicar ahí el filtro. Este filtro requiere ancho de banda y buena cantidad de VRAM, además de acceder rápidamente a los valores de profundidad almacenados en buffer. Este modo tiene diferentes niveles, podrás ver 2x, 4x o hasta 8xMSAA.

FXAA o Fast Approximate Anti Aliasing

Este filtro consiste en una pasada después del procesamiento de las imágenes y antes del resultado final. El método detecta los bordes comparando la luminancia de los píxeles y mueve una pequeña cantidad de los píxeles hacia arriba y abajo en bordes horizontales y hacia los lados en verticales.

 

Este método fue diseñado y presentado por NVIDIA en el año 2009. La ventaja es que es un código muy simple que se puede ejecutar en cualquier tipo de GPU. También se aplica, gracias a su técnica de detección de los bordes, a otro tipo de texturas como el humo o maleza, cosa que los otros no realizan. No es tan efectivo como los anteriores, pero para el impacto que supone ofrece un resultado bastante bueno.

TAA o Temporal Anti Aliasing

Este filtro combate el Aliasing temporal, de ahí su nombre. El juego procesa una imagen y en lugar de mostrarla la guarda en un buffer. Luego se toma la siguiente imagen y se mueve ligeramente para procesarla completamente. Una vez finalizada, se comparan ambas imágenes, la anterior y la actual para mostrar el resultado final. Al mover los píxeles ligeramente en la segunda imagen se consigue un efecto de suavizado mayor como el que vemos con NVIDIA DLSS o AMD FSR.

En ocasiones, este filtro es capaz de mostrar un suavizado en exceso dando la sensación de que la imagen está borrosa. Para evitar esto se utilizan los vectores de movimiento de las imágenes para compararlas con la imagen guardada en buffer, descartándola si hay mucha diferencia en el movimiento. También se puede utilizar con otros filtros como FXAA y SMAA para mejorar los resultados.

El impacto de utilizar este filtro en gráficas actuales no es muy grande.

MFAA Multi-Frame Sampled Anti Aliasing

Otro filtro que lanzó NVIDIA junto con la serie GeForce 9. Esta es una versión mejorada de MSAA con un impacto en el rendimiento mucho menor. La GPU modifica el patrón de muestreo con cada fotograma sucesivo utilizando un menor número de muestras.

CSAA Coverage Sampling Anti Aliasing

Este filtro también ha sido desarrollado por NVIDIA. Funciona igual que MSAA, pero está optimizado para sus gráficas y su hardware.

EQAA Enhaced Quality Anti Aliasing

Es el equivalente de MSAA, pero para tarjetas gráficas de AMD. Su funcionamiento es igual pero ha sido optimizado para tarjetas gráficas de AMD.

Esta tecnología empezó a usarse hace ya bastantes años. A medida que ha ido pasando el tiempo usamos resoluciones mayores donde este efecto no es tan notorio. También es una técnica que, aunque existan algoritmos mejoradas y específicos para cada marca de GPU, tienen un impacto a considerar en el rendimiento de los juegos.

Al utilizar mayores resoluciones, las imágenes que necesitamos generar para comparar y aplicar estos filtros son de mayor tamaño. Esta técnica ha entrado en desuso para juegos nuevos con la aparición de otro tipo de tecnologías que han destronado al rey de la mejora en los juegos durante los últimos años.

Ahora, gracias a NVIDIA DLSS y a AMD FSR conseguimos una mejora en los FPS con una técnica que consiste en crear imágenes de mayor tamaño a partir de una más pequeña. Al generar estas imágenes más grandes, se aplica un filtro de suavizado para estas que generan un efecto similar al AntiAliasing. Podemos decir que DLSS y FSR son una especie de AntiAliasing con mejoras.

Pero no todos los juegos disponen de NVIDIA DLSS y/o AMD FSR, puedes consultar los juegos con NVIDIA DLSS y también los que incluyen AMD FSR. En estos casos puedes utilizar un filtro de los mencionados aquí para obtener mejores resultados. También es muy útil si vamos a jugar a juegos antiguos y ofrecer un toque de calidad extra suavizando las imágenes cuando son representadas en mayor resolución.