¿Los methods antialias basados ​​en sombreadores hacen que la multimuestra tradicional sea obsoleta?

Vea un análisis de FXAA aquí , y la página de SMAA aquí

Ahora bien, estos methods tienen un inconveniente, que es que no son capaces de mejorar la calidad de una manera físicamente precisa, como lo hace la multimuestreo (lo que quiero decir con esto es que saca los detalles del subpíxel de la geometry mediante super-rasterización), pero son un excelente método para restringir los artefactos visuales que son el resultado de la rasterización regular.

Ejemplo: ejecuto una Nvidia GTX 260, venía de la fábrica con un overclock moderado, es un model Gigabyte Super Overclock. También corro una pantalla de 1920×1200.

A veces es difícil mantener buenos framerates cuando juego Battlefield 3, pero he notado algunas mejoras generales en términos de velocidad recientemente que han hecho que el juego sea bastante mejor hoy que cuando se lanzó.

El punto es que el golpe de performance causado por 4xMSAA o incluso 2xMSAA es muy notable en este juego a mi resolución completa, ya que necesita todo el poder que puede get. Sin embargo, el antialiasing posterior al procesamiento de FXAA tiene un costo casi nulo. Hace un mes o dos, me encontré ejecutando el juego en modo window la mayor parte del time porque lograba mejores cuadros de image de esa manera. Pero ahora descubrí que deshabilitar MSAA y usar FXAA elimina casi por completo los artefactos de borde sin el golpe de performance de MSAA.

Encuentro que el shader-post-process AA es extremadamente bueno para producir bordes suaves cuando las líneas son casi horizontales o casi verticales, y también con objects finos, como los cables en el poste del teléfono en el enlace. En imágenes fijas, una calidad de suavidad similar es inalcanzable hasta que encienda MSAA a 16x.

Sin embargo, el shader-post-process AA no elimina los artefactos de aliasing temporales: aunque los bordes se suavizan terriblemente, "saltan" a medida que se mueven a través de los límites de píxeles.

La razón por la que esto sucede es porque el shader-AA no tiene conocimiento de los datos de cobertura geométrica real, que es en lo que MSAA y sus amigos se basan esencialmente. A medida que un borde atraviesa el límite del píxel, nuestro borde liso "saltará" la longitud de un píxel, en lugar de mezclarse suavemente dentro y fuera como lo veríamos con 16xMSAA / CSAA. CSAA es particularmente bueno para esto porque rasteriza a una resolución más alta que MSAA.

Entonces, con todo esto en mente, no creo que los methods de antialiasing basados ​​en sombreadores sean un reemploop de los methods tradicionales. Sin embargo, creo que son una forma genial de mejorar la calidad de la image en casi cualquier situación. Tienen la ventaja de que no requieren un formatting de almacenamiento de búfer de representación diferente.

Creo que, en adelante, la mejor manera de aplicar antialiasing en los juegos sería una combinación de muestreo de cobertura AA y AA posterior al process.

Jeff Atwood afirma que FXAA hizo MSAA / CSAA obsoleta durante la noche. ¿Qué piensas? ¿Cuáles son algunas otras maneras de comparar y contrastar el antialiasing tradicional con antialiasing basado en shader?

En términos generales, sí, el antialiasing posterior al procesamiento como FXAA está haciendo que MSAA sea mucho less popular.

Como mencionaste, el performance alcanzado por MSAA es muy alto, principalmente debido al aumento del ancho de banda de memory requerido para leer / escribir objectives de renderizado. También, por supuesto, consume mucha más memory para esos objectives de renderizado, algo no tan importante para los jugadores de PC que generalmente tienen mucha memory, pero es realmente un gran problema para las consoles. Hacer MSAA en una console requiere que hagas grandes sacrificios en algún otro aspecto de los charts. MSAA también es complicado para funcionar correctamente con los renderizadores de sombreado diferido, que cada vez son más comunes. Mientras tanto, FXAA es rápido, por lo general no requiere memory extra, y es muy fácil de conectar a una tubería de renderizado existente. ¡No es de extrañar que los desarrolladores de juegos lo estén haciendo!

Además, a medida que las resoluciones de pantalla aumentan, los beneficios de calidad visual de MSAA sobre FXAA disminuirán en muchos casos. Aquí hay un artículo interesante sobre diferentes types de agudeza visual y cuándo MSAA realmente hace la diferencia.

Eventualmente, por supuesto, esperamos alcanzar resoluciones de pantalla tan altas que no sea necesario AA. Eso es en unos pocos años. Pero MSAA morirá por mucho time antes de que el postprocesamiento de AA lo haga.