La técnica anti-aliasing de The Saboteur

Pandemic sorprende con el port a PS3.

Si hay un elemento que hemos visto numerosas veces en las comparativas multiplataforma que hemos hecho hasta ahora es, sin duda, la implementación de técnicas de anti-aliasing en la actual generación de consolas HD.

El caso más habitual es que la versión para Xbox 360 de un juego tenga suavizado de bordes, mientras que la versión para PlayStation 3 lo desactive por completo, sea menor o use la técnica Quincunx específica de nVidia, la cual suaviza los bordes pero también "emborrona" toda la textura en el proceso.

Ninguna de estas opciones es particularmente atractiva (aunque el Quincunx tiene su utilidad en determinados escenarios), y tampoco lo es hacer que toda la pantalla sea más borrosa, como hacen algunos desarrolladores (lo que en DF llamamos "el efecto vaselina"). Pero en juegos recientes, como Brütal Legend o Overlord II, se han intentado aplicar otras técnicas - buscar sólo los bordes y hacerlos más borrosos, manteniendo el detalle de la textura. Es mejor que nada, pero no es suficiente.

La versión para PS3 del The Saboteur de Pandemic es diferente. Es especial. Intenta algo nuevo que nunca habíamos visto en una consola o en un PC, y los resultados son espectaculares. En el mejor de los casos se obtiene un suavizado de bordes mejor que en el anti-aliasing 16x multisampling, produciendo un efecto mejor que el conseguido con GPUs de gama alta pero sin comprometer el rendimiento. Compáralo, por ejemplo, con el máximo del hardware de Xbox 360: 4x MSAA.

Empecemos con una rápida comparativa del efecto en ambas versiones del juego. Es interesante dejar claro que tanto la versión para Xbox 360 como PC de The Saboteur no tienen ningún tipo de soporte para anti-aliasing. Es algo exclusivo para los poseedores de la versión de PS3, cuya razón explicaremos más adelante. Aunque la total ausencia de AA en la versión para Xbox 360 es decepcionante, a efectos de este artículo nos beneficia para poder ver un antes y un después que ilustre mejor la técnica aplicada en PS3.

¿Cómo lo han hecho? En los comentarios de un post del PlayStation Blog americano, Tom French, de Pandemic, habla sobre "usar las SPUs para hacer un filtrado FSAA a pantalla completa". Los procesadores satélite del Cell son perfectos para hacer cálculos rápidos de pequeños grupos de datos, lo cual hace que sean ideales para la tarea de procesar todo el framebuffer en busca de bordes y a continuación suavizarlos.

Algunos usuarios del foro de Beyond3D no tardaron en empezar a investigar. Es una técnica inicialmente impulsada por Intel, que se explica de forma excelente en varios ejemplos de este post, el cual muestra el potencial real de esta técnica, y cómo se compara con el método de Brütal Legend de suavizado de bordes. No hay punto de comparación: el denominado anti-aliasing morfológico (o MLAA) visto en The Saboteur está a años luz de todo lo que hemos visto cuando se usa en condiciones óptimas.

Al ser una técnica experimental no todo es perfecto. Cuando los bordes en el juego tienen un ancho de un pixel o menos, la técnica de detección no acaba de funcionar. Pandemic analiza el framebuffer al completo - incluyendo los elementos del HUD - lo cual provoca artefactos en la superposición de los textos. En este juego probablemente es inevitable: cuando la GPU empieza a dibujar el siguiente frame, las SPUs están ocupadas con el AA, y para que se de esa situación hay que analizar el frame al completo.

Pandemic no ha hablado demasiado sobre la técnica de AA, aunque sus desarrolladores han filtrado algunos detalles en los foros de NeoGAF. Según ellos, el filtro se aplica a la luminosidad de cualquier escena. Es una forma muy inteligente de mantener la velocidad pero, al mismo tiempo, algunos colores - rojo y negro, por ejemplo - tienen niveles similares de luminosidad, con lo cual el filtro detecta la mayoría de los bordes pero pierde otros. Adicionalmente, en algunos casos se producen problemas de "pelusa" en los bordes, lo cual sin más aclaraciones de los desarrolladores son difíciles de explicar. ¿O quizás es simplemente el efecto de procesar una pantalla con motion blur?

Lo que tenemos en The Saboteur para PS3 es una técnica experimental, y puedes hacerte una idea de que el estilo visual se adapta de forma excelente a ella. En la versión para Xbox 360 la cantidad de jaggies no es un problema grave; el juego no tiene demasiado alto contraste entre bordes, y es bastante suave en general. En este tipo de entorno, la técnica MLAA usada por Pandemic funciona de forma excelente, y en la mayoría de los casos hay que fijarse mucho para encontrar artefactos en la imagen. Pero están ahí, y eso lleva a preguntarse cómo funcionaría esta técnica en juegos con un contraste más alto, tipo Battlefield: Bad Company 2, Halo 3 o Uncharted 2, en los que seguramente hubiese tenido problemas.

Pero lo que tenemos aquí es algo nuevo y realmente emocionante desde un punto de vista técnico. Asistimos a cómo la PS3 ataca al problema con un método que ni siquiera las GPUs de gama más alta están usando. No puedes evitar preguntarte si el MLAA, en combinación con MSAA y un filtro para eliminar los artefactos, podría ser integrado en el hardware de la próxima generación de consolas.

También será interesante ver si el MLAA vuelve a aparecer en otro juego PS3 multiplataforma antes de eso, porque parece extremadamente bueno en acción. Al final todo se limitará a lo costosa que sea a nivel computacional la técnica, y si se puede refinar más. Ahí es donde ya no sabemos más. Si algún ex-trabajador de Pandemic quiere arrojar algo de luz al respecto, ya sabe dónde encontrarnos...

Comentarios (15) Latest comment Hace 2 años

Ya no se pueden publicar más comentarios. ¡Gracias por tu aportación!

  • tylc #1 Hace 2 años

    Ostia, es interesante ver que hay gente que busca otros caminos para lograr equiparar las cosas y que, incluso las superaría en igualdad de condiciones segun leo. Veremos si siguen esa vía, almenos en EA
  • suemrri #2 Hace 2 años

    "Es interesante dejar claro que tanto la versión para Xbox 360 como PC de The Saboteur no tienen ningún tipo de soporte para anti-aliasing."

    Una puntualizacion, en PC puedes poner el AA que quieras a traves del panel de control. Yo juego Mass Effect con supersampling y sin un solo diente de sierra.

    En otro orden de cosas, me parece algo excelente lo que es la noticia; siempre es muy positivo para todas las plataformas que se vayan perfeccionando y descubriendo nuevas tecnicas.

    salu2
  • Chato #3 Hace 2 años

    Opino lo mismo que suemrri. En PC juego al Mass Effect con antialias 8x y anisotrópico a 16x. Eso sí, la técnica esta para PS3 me llama mucho la atención. Veremos si resulta tan buena y viablee, porque puede ser un paso adelante ^_^
  • kr3at0r Verificado Deputy chief, Eurogamer Spain #4 Hace 2 años

    Ojo, pero eso no es que el juego lo traiga, sino que lo fuerzas a través del driver de la tarjeta gráfica. No es exactamente lo mismo (aunque el resultado final sí).
  • Chato #5 Hace 2 años

    kr3at0r pero es lo mismo que si el juego lo trae. Si tú lo modificas en las opciones de un juego, al fin y al cabo es una especie de "acceso directo" a las opciones de la gráfica. Por lo que básicamente es lo mismo pero puesto desde otro sitio.
  • Machete #6 Hace 2 años

    Cada vez me gustan más los análisis de la gente de DF, son muy instructivos :D
  • Flyper #7 Hace 2 años

    Apoyo formalmente lo dicho por Chato y suemrri.

    Lo cierto es que la gran mayoría de veces se puede forzar el AA desde el panel de drivers de la tarjeta. No se si en este caso en concreto dará problemas o que, pero parece que debería ir correctamente.
  • Janyamik #8 Hace 2 años

    Bueno, ya en marzo el parche de la comunidad de Gothic 3 usan AA por software, movido por la CPU -EdgeAA- y usaba 2x MSAA + TSSAA a 2560 x 1600. La técnica está bien, pero novedosa tampoco es. Pero es bueno que se aproveche la potencia de los SPE en PS3.

    Al menos en Pc, claro. Recordemos que el parche de la comunidad lo hizo...la comunidad precisamente, no una desarrolladora. No tiene menos mérito por estar hecho por "el pueblo gamer".

    De hecho, tanto al autor del mod Minerva como al de 4Th Dimension de HL2 y Supreme Commander respectivamente, los han contratado Vale y Gas Powered Games tras ver sus trabajos. En el caso del juego de Chris Taylor, para programar la IA en Supreme Commander 2 tras ver el balance que hizo en el juego con su mod, espectacularidad de las explosiones aparte.

    Gothic 3 en un C2Q -2,8 Ghz y 12 L2 RAM- en la Beta de Windows 7 mismo gana 20 fps más que en Xp con la misma GPU, y se puede jugar perfectametne en Vista. El típico caso de juego que sale con bugs, se arreglan y queda más potable. En éste caso, merece la pena verlo.

    Era previbile: a 720p -y a menor resolución en general- necesitas más pases de AA que a 1050 o 1200p. Y si no lo puedes mover con la gráfica o GPU, tienes que buscar otro modo.

    Como ya se vió que se podía hacer por procesador, así liberas a la gráfica de la carga de AA y tienes más opción a usarla para otros temas: texturas, filtros de diversos tipos, etc... Al igual que en el Unreal Engine 3 el AA no va exactamente del mismo modo en Dx 9 que en Dx 10.

    Sobre ATI, la nueva serie Radeon HD 5XXX ofrece 8x SGSSAA, 24x CFAA. En la serie 4 era 24x CFAA. Nvidia en su serie G2 daba 16xQ CSAA.

    Una cosa es que Crysis -o el anuncio del CryEngine 2- no se pueda jugar a 1080p con XX8 a nivel medio en los usuarios, pero otra es que si a 1280 x 1024 con AA x 4 y en Dx 10 apenas se notan los bordes de sierra al lado de otros engines en Dx 9 en los que sí sucede.

    Juegos como FEAR 2, DIRT, o bien Mirror´s Edge, Batman AA, Borderlands, Brothers in Arms Hell´s Highway, etc -U.Engine 3- no los puedas jugar en 1920 x 1200 y con AA x 4 u 8, según decidas y haga falta o no. Jugar a 1920 x 1200 con AA x 8 o 16, no tiene mucho sentido.

    La tecnología aprovecha siempre un poco más el hardware: HL2 con el Cinematic Fake Factory Mod para S.O. de 64 Bits es un buen ejemplo de lo que se puede conseguir con un engine con su tiempo ya pero ejecutándolo sobre procesadores, memorias RAM y gráficas más potentes. Y es el mismo engine y juego, pero no se ve igual.

    Y eso, a la larga, es una cosa que nos beneficia a todos, en cualquier género y plataforma. De todos modos, dudo que la diversión en Peggle, Braid, Zuma´s Revenge o Company of War esté en jugarlos a 2560 x 1600.


    Muy interesante el artículo, sobra decirlo. :)
    Editado por 3 a las 11/12/09 @ 13:16
  • Chato #9 Hace 2 años

    Cada vez que leo a Janyamik me doy cuenta de lo poco que sé de este mundillo. ¡Gracias por contar tantas cosas!
  • langos1989 #10 Hace 2 años

    Veo muy bien que optimicen el juego para cada plataforma, aunque este juego... :/
  • dr.apocalipsis #11 Hace 2 años

    2 apuntes:

    Sacar a colación que esto no se haga en GPU's de alta gama no viene al caso. En PC se juega a resoluciones para las que son menos importantes las técnicas de suavizado de bordes. A 720P son absolutamente necesarias. A 1050P con más de un 2X ya no hay diferencia en la mayoría de engines. A partir de 4xFSAA ya no las ves ni con 2 frames uno al lado del otro.

    Segundo, desde el panel de control de las gráficas se puede forzar niveles más altos de AA o Aniso, pero a costa de una mayor penalización de rendimiento de la que hubiera si lo incluyera el mismo engine del juego. Caso clásico es la falta de soporte de AA del Unreal Engine. Mediante los drivers de las gráficas lo fuerzas a costa de hacer más pasadas. Y más pasadas son menos FPS efectivos. Vamos, que se saca por fuerza bruta.

    Un saludete.
  • Diomedes #12 Hace 2 años

    Muy interesante ....a ver si otras compañías toman nota porque muchas ni tocan los SPUs y si con uno solo pueden lograr un AAx16 .....vamos ,que aver si otras toman nota.
  • jose1024 #13 Hace 2 años

    Estoy de acuerdo en que todo lo que sea mejorar los graficos es algo positivo, pero tambien creo que la importancia que se le da al AA es exesiva, en pc y 360 de base esta juego no lleva y tampoco pasa nada.
  • NeoNatres #14 Hace 2 años

    Me ha resultado interesante comprobar que hay desarrolladores que intentan innovar aun en títulos que no son los más vendidos.
  • elpipi #15 Hace 2 años

    ¿Realmente hay alguien que se fije en esos detalles? A mi me parecen iguales las dos, porque yo no juego con la imagen ampliada al 300 por cien. Me parece más importante la jugabilidad y el argumento