Recientemente AMD ha lanzado la tecnología FSR 2.0, que promete dar un gran salto en rendimiento en juegos. Esta tecnología FidelityFX Super Resolution busca ofrecer una mayor tasa de FPS en los juegos. La mejora en la cantidad de frames en un juego se consigue mediante la ejecución del mismo a una resolución más baja y reescalandola a una superior.
Se presenta como la gran alternativa a NVIDIA DLSS. Una de sus premisas es que no tiene coste para el usuario, que es una tecnología gratuita. No tiene coste para el usuario debido a que no requiere de hardware dedicado, como pasa con DLSS que sí depende de modelos que especifican antes de comprarlo que son compatibles (gracias al hardware que equipan) con esta tecnología de reescalado. Por lo que en el caso de AMD se trata de un ecosistema mucho más abierto y amigable para los usuarios que pueden acceder a él sin limitaciones de hardware y modelos concretos. Lo que siempre es una ventaja y una tendencial del mercado que siempre tienda a beneficiar y encumbrar a las soluciones universales.
Pero no requerir de hardware dedicado tiene una desventaja, y es que en cuando a rendimiento y resultados podemos confirmar que es ligeramente peor que el DLSS de NVIDIA. La calidad de imagen que obtenemos de esta tecnología de reescalado con respecto a la competencia, algo que para muchos será un elemento determinante. No lo deberíamos notar cuando jugamos, ya que suele ser en las zonas más exteriores de la imagen donde aparece está pérdida de calidad, pero debéis tenerlo en cuenta a la hora de elegir cuál será vuestro futuro hardware gráfico del PC.
¿Qué es AMD FSR?
Es una tecnología desarrollada por parte de AMD para aumentar la cantidad de fotogramas en un juego. FidelityFX Super Resolution está pensado para cuando una tarjeta gráfica tiene problemas para poder mover un juego a una tasa de FPS aceptable. AMD lanzó FSR 2.0, una versión mejorada de esta tecnología capaz de igualar a NVIDIA DLSS e incluso, superarla.
No se requiere que la GPU de la tarjeta gráfica tenga hardware específico para poder aprovechar esta característica. Esto es debido a que se basa en una solución de mejora espacial simple, haciendo que se pueda disfrutar en una mayor cantidad de hardware.
La solución de procesamiento de imágenes espaciales hace uso de píxeles vecinos para la imagen de una resolución mayor que se envía a la pantalla. Como resultado, obtenemos una imagen en pantalla más clara. Realiza también una compensación del trazado de rayos, mediante una mejora de calidad de imagen. Otra de las características de esta tecnología es obtener mayor cantidad de fotogramas en tarjetas gráficas “antiguas”.
Una tecnología de código abierto
Al contrario del NVIDIA DLSS, cuyo entrenamiento e implementación es llevada a cabo por el fabricante de las GeForce para los diferentes juegos, en todas las versiones del FSR el código es completamente abierto. Esto significa que han de ser los desarrolladores los que tienen que adaptar el código fuente que les otorga AMD para tenerlo listo en los juegos. Sin embargo, esto les da libertad para implementarlo de la forma que más se adecue a la naturaleza del juego y hace que se pueda añadir incluso a juego antiguos e incluso a emuladores.
Es más, no solo permite su uso en las tarjetas gráficas Radeon, sino también en la de las otras marcas. Más de un desarrollador ha adaptado su juego a los FSR de AMD para que se ejecute en una tarjeta gráfica de NVIDIA. En el caso de que querías aplicar el FSR 2.0 en vuestro juego favorito y tengáis los conocimientos para hacerlo, entonces es tan fácil como descargar y usar los archivos correspondientes del sitio web oficial dentro del juego para activarlo y ganar una mejora en el rendimiento de vuestro PC. Lo que, cuando hablamos de un videojuego, nunca está de más.
Todo lo anterior significa que la implementacion dependerá en cada título y dependerá de los desarrolladores del mismo o en su defecto de la propia comunidad si hablamos de juegos con cierta veteranía que han dejado de ser de interés económico para quienes los crearon. Tened en cuenta que muchos juegos antiguos, que podrían beneficiarse de una tecnología así, no cuentan con soporte. En estos casos, es más fácil que sea la scene la que se trabaje una actualización o mod para activarlo que sea el propio estudio (si es que todavía existe) el que lo haga.
¿Cómo funciona AMD FSR 2.0 y 2.1?
Es una técnica de escalado de imágenes que se basa en sombras y que se da en la fase final del proceso de renderizado. Sencillamente, toma una imagen a una resolución más baja que la establecida por el usuario. La imagen pasa por dos procesos de mejora de calidad visual que la acerquen lo máximo posible a la resolución establecida por el usuario.
Los dos procesos se basan en dos algoritmos. El primer algoritmo lo que hace es un aumento de escala de reconstrucción de bordes. Dicho proceso busca recrear la imagen como si tuviera una resolución más alta que la de renderizado. Finalmente, otro algoritmo realiza una revisión de nitidez, que agrega claridad a la imagen.
Dispone AMD FidelityFX Super Resolution de cuatro modos diferentes de escalado. El modo más bajo es una solución para que los desarrolladores puedan usar un enfoque más agresivo de compensación. Dicho modo tiene un problema, y es que pueden aparecer problemas de nitidez.
Cabe destacar que esta solución, cuanta más información con la que trabajar tiene, más eficaz es. Esto quiere decir que cuanto más alta es la resolución nativa, mejor será el resultado final.
FSR tiene la capacidad de funcionar a resoluciones 1080p e incluso, resoluciones más bajas. Algo que es positivo, ya que se puede utilizar en tarjetas gráficas con más antigüedad. El hecho que no necesite hardware específico en la GPU, es otra de sus fortalezas.
Algoritmo espacial y no temporal
El método escogido por AMD se basa en tomar la información del fotograma actual y solo del fotograma actual, por lo que difiere de otros métodos del escalado de resolución de imagen, como es por ejemplo el Checkerboard rendering. Cuando hablamos de temporalidad, estamos haciendo referencia a que para generar la versión a más resolución del fotograma actual procede en parte del fotograma anterior. Por lo que carece de lo que llamamos temporalidad y toma la información del fotograma a menos resolución que la GPU acaba de generar para crear la versión a más resolución de la imagen.
¿Pero qué entendemos por resolución? Pues a la cantidad de píxeles que la componen, por lo que cuando aumentamos la resolución de una imagen lo que se hace es aumentar la cantidad de estos. Se generan nuevos píxeles que ocupan el espacio, pero cuyo valor en color desconocemos. ¿La solución más simple? Utilizar algoritmos de interpolación, que se basan en pintar los píxeles faltantes con colores que se encuentren a medio camino de los píxeles colindantes. Cuantos más píxeles colindantes coja como información de origen, entonces más precisa será la información.
El problema es que la interpolación pura y dura no es lo suficientemente buena y no se utiliza, la calidad de las imágenes resultantes es muy baja y muchas veces difiere de la realidad. A día de hoy la mayoría de aplicaciones de edición de imagen hacen uso de algoritmos de inteligencia artificial para generar las versiones a más resoluciones. Si ya nos centramos en exclusiva en el FidelityFX Super Resolution, su método para conseguir la información de los píxeles faltantes no se basa en una interpolación directa, sino que es más compleja.
La temporalidad es clave
Lo primero de todo tenemos que definir a que nos referimos con temporalidad. En el AMD FSR 1.0 teníamos el problema que toda la información que se emplea para generar el fotograma a más resolución viene en exclusiva del fotograma que se acababa de generar, lo cual no es suficiente información para generar una imagen lo más parecida posible a si la GPU renderizará la imagen de salida de forma nativa. Esto produce un efecto de degradación que va alejando los fotogramas originales del que se necesita generar. Como una fotocopia que cada vez pierde más calidad respecto de la imagen original.
Pero, ¿de dónde se puede sacar entonces la información? Pues de los búferes de imagen del anterior fotograma que se encuentran todavía en la memoria para vídeo que usa la tarjeta gráfica. En concreto, AMD ha definido tres de ellos de manera muy vaga, por lo que os los vamos a definir para que tengáis una comprensión mucho mayor de cómo funciona.
Vectores de movimiento
Una de las principales diferencias del FSR 2.0 respecto a su antecesor y donde coincide con el DLSS de NVIDIA y el XeSS de Intel es el hecho que se basa en vectores de movimiento. Esto le permite conseguir información del frame anterior, lo que le da mayor precisión visual al algoritmo, ya que nos permite conocer la posición de cada objeto respecto al fotograma anterior y generar a partir de ahí una réplica lo más fiel posible.
El término puede resultar complejo, pero se explica muy fácilmente con los siguientes pasos que os detallamos justo aquí debajo:
- A cada objeto en pantalla se le da una ID o identificación en modo de variable.
- Uno de los búferes de imagen que se generan en cada fotograma no almacena los valores de color, profundidad, albedo y otras informaciones gráficas, si no la identificación tiene cada elemento en pantalla.
- Se compara la posición de cada ID en el fotograma actual y el anterior. El objetivo es generar la derivada de la distancia respecto al tiempo, es decir, el vector de velocidad o movimiento. Aquellos que no tienen un ID Buffer en ambos fotogramas no se tienen en cuenta, ya que o bien se ha desplazado fuera de la vista o acaban de ser generados.
- Con esta información, la tarjeta gráfica o GPU puede predecir en que posición exacta se encuentra el objeto en ambos fotogramas, por lo que puede rescatar la información visual para realizar la reconstrucción.
No obstante, esto tiene una trampa y es que se requiere que durante el proceso de generar cada fotograma y en medio del pipeline 3D se acaben generando dichos vectores de movimiento de forma automática. Debido a que son comunes en muchos algoritmos de postprocesado, como es el caso de AntiAliasing Temporal, a día de hoy muchos juegos no tienen problemas en adaptarse para FSR 2.0, pero, en cambio, resulta una tarea adicional para muchos otros. En otras palabras, requieren de cambios más profundos en el código de los mismos.
Datos de profundidad y de color
Los dos otros búferes relacionados con cada fotograma de los que el FSR 2.0 toma la información es el búfer de color y el de profundidad. Del primero no hace falta que os hablemos, ya que define el valor de color de cada píxel, pero es importante por el hecho de que de un fotograma a otro dicho valor no cambia. Podríamos entrar en mapas de normales y cuestiones parecidas, que se utilizan para crear escenas con profundidad en imágenes 2D.
El otro es búfer de profundidad, el cual nos indica la distancia en dicho eje del objeto respecto a la cámara. Normalmente, se utiliza para decir si un píxel tiene preferencia de dibujado sobre otro. En este caso se usa para triangular los vectores de movimiento respecto a la cámara y que el algoritmo genere de manera más precisa el fotograma corregido respecto a la cámara. Se trata de un código de colores que indica al ordenador con un tono oscuro qué elementos están más alejados dentro de la escena frente a los más claros, que pertenecen a los que se sitúan en el primer plano. Esto, en 3D suele relacionarse con las normales y es una información increíblemente útil para manejar entornos tridimensionales para generar imágenes bidimensionales.
Modo calidad y mayores requerimientos técnicos
Los datos adicionales relacionados con la temporalidad que añade el AMD FSR 2.0 sobre su versión anterior supone tener que trabajar con un conjunto de datos mucho mayor. Esto significa que pese a que la calidad visual obtenida es mucho mayor, vamos a necesitar una gráfica más potente. No olvidemos que estos algoritmos toman milisegundos de tiempo para renderizar la escena para funcionar. A cambio de conseguir generar una imagen en menos tiempo que renderizando esta desde cero a la resolución de salida.
Por el momento AMD ha presentado solo el modo Calidad y en un solo juego en Deathloop, lo cual nos hace pensar que el resto de modos seguirán funcionando como en FSR 1.0 y la mayoría de ellos no harán uso de vectores de movimientos. Es decir, la trampa es que un buen número de títulos serán compatibles con FSR, pero muy pocos lo serán con la segunda versión del algoritmo, la cual estará relacionada con el modo calidad.
Ya para terminar, los requerimientos sobre los juegos harán que la lista de juegos compatible sea mucho más baja que con el actual FidelityFX Super Resolution y al igual que con el DLSS de NVIDIA, desde AMD nos irán anunciando nuevos juegos compatibles con el FSR 2.0 con cada nueva actualización de sus drivers.
Niveles de calidad de AMD FSR 2.0
FSR cuenta con cuatro modos que varían según la cantidad de escalado aplicable con respecto a la imagen original. Dichos niveles se basan en la relación calidad/rendimiento que quiera el usuario.
Algo interesante es que FSR dispone de un modo que se denomina “escalado arbitrario”. Dicho modo permite escalar cualquier factor de escala de área entre el x1 y el x4. Este modo normalmente se utiliza para el escalado dinámico de resolución. La resolución se determina por la fuente para un rendimiento fijo buscando lograr una cantidad mínima de FPS.
Los cuatro modos son los siguientes:
Calidad FSR | Descripción | Factor de escala | Resolución de entrada | Resolución de salida |
---|---|---|---|---|
Performance | Afecta visiblemente a la calidad de la imagen y solo debería seleccionarse en situaciones en las que la necesidad de un rendimiento adicional sea crítica | - x2 por dimensión - x4 escala de área - 50% de resolución de escala | 960x540 píxeles 1280x720 píxeles 1720x720 píxeles 1920x1080 píxeles | 1920x1080 píxeles 2560x1440 píxeles 3440x1440 píxeles 3840x2160 píxeles |
Balanced | Produce una imagen de súper resolución que se aproxima a la calidad de representación nativa, con una importante mejora del rendimiento en comparación con la nativa | - x1.7 por dimensión - x2.89 escala de área - 59% de resolución de pantalla | 1129x635 píxeles 1506x847 píxeles 2024x847 píxeles 2259x1270 píxeles | 1920x1080 píxeles 2560x1440 píxeles 3440x1440 píxeles 3840x2160 píxeles |
Quality | Produce una imagen de súper resolución con una calidad representativa de la representación nativa, con una ganancia de rendimiento considerable | - x1.5 píxeles - x2.25 escala de área - 67% de resolución de pantalla | 1280x720 píxeles 1706x960 píxeles 2293x960 píxeles 2560x1440 píxeles | 1920x1080 píxeles 2560x1440 píxeles 3440x1440 píxeles 3840x2160 píxeles |
Ultra Quality | Produce una imagen con una calidad prácticamente indistinguible de la renderización nativa. Debe seleccionarse cuando se desea la calidad más alta | - x1.3 por dimensión - x1.69 escala de área - 77% de resolución de pantalla | 1477x831 píxeles 1970x1180 píxeles 2646x1108 píxeles 2954x1662 píxeles | 1920x1080 píxeles 2560x1440 píxeles 3440x1440 píxeles 3840x2160 píxeles |
Aquí podéis ver cuantomejorará el rendimiento según resolución y tarjeta gráfica:
El reescalado tiene un coste
Debemos tener en cuenta que realizar este proceso tiene un coste computacional. Al final, es la propia GPU de la tarjeta gráfica la que debe realizar el escalado de una resolución menor a una superior. Así, dentro del proceso que tarjeta la tarjeta gráfica en ofrecer un fotograma, se debe dejar tiempo para la aplicación de FSR 2.0. Por ejemplo, para una tasa de 60 FPS, se requiere un tiempo de 16.67 ms por cada FPS. De dicha cantidad de tiempo, según la resolución, una parte irá destinado al escalado mediante la tecnología de AMD.
El coste computacional en modo calidad (quality) es el siguiente:
Resolución de FSR 2.0 | AMD RX 6800 XT | AMD RX 6700 XT | AMD RX 5700 XT |
---|---|---|---|
4K | |||
1440p | |||
1080p |
Mientras que el coste computacional en modo rendimiento (performance) es el siguiente:
Resolución FSR 2.0 | AMD RX 6800 XT | AMD RX 6700 XT | AMD RX 5700 XT |
---|---|---|---|
4K | |||
1440p | |||
1080p |
¿Qué tarjetas gráficas soportan la tecnología AMD FSR 2.0?
Esta tecnología de AMD es de código abierto y no requiere de hardware específico para ejecutarse. Ambos elementos son importantes, ya que permite que se pueda utilizar incluso en tarjetas gráficas de NVIDIA. Recordar que NVIDIA DLSS es una tecnología propietaria basada en los Tensor Cores de la GPU.
Actualmente, FidelityFX Super Resolution (FSR) se puede ejecutar en más de 100 tarjetas gráficas. Estas son:
- AMD Radeon RX 7000 Series
- AMD Radeon RX 7000M Series
- AMD Radeon RX 6000 Series
- AMD Radeon RX 6000M Series
- AMD Radeon RX 5000 Series
- AMD Radeon RX 5000M Series
- AMD Radeon VII
- AMD Radeon RX Vega Series
- AMD Radeon RX 600 Series
- AMD Radeon RX 500 Series
- AMD Radeon RX 480 / RX 470 / RX 460
- APU AMD Ryzen con gráficas RX Vega Series
- APU AMD Ryzen Mobile con gráficas RX Vega Series
- NVIDIA RTX 30 Series
- NVIDIA RTX 20 Series
- NVIDIA GTX 16 Series
- NVIDIA GTX 10 Series
Por parte de AMD se destaca que FSR requiere que se cumpla una serie de requisitos mínimos de un juego compatible. También se destaca que no ofrece soporte técnico o de garantía en el uso de AMD FSR en tarjetas gráficas NVIDIA.
Desde AMD también destacan que han probado FSR en gráficas integradas en procesadores Intel. Indican que en algunos casos ha permitido que algunos juegos pasen a ser jugables (>30 FPS) cuando antes no eran jugables (
Tarjetas gráficas recomendadas según la resolución
Destacar que desde la compañía han indicado las tarjetas gráficas mínimas recomendadas para AMD FSR 2.0. Destacar que, en principio, todas las gráficas indicadas son compatibles, estás serían para obtener un buen rendimiento gráfico:
- Resolución 1080p: AMD Radeon RX 590, RX 6500 XT o NVIDIA GeForce GTX 1070 / GTX 16
- Resolución 1440p: AMD Radeon RX Vega 56, Radeon RX 5600 o NVIDIA GeForce GTX 1080, RTX 2060 o superior
- Resolución 4K: AMD Radeon RX 5700, RX 6700 XT o NVIDIA GeForce RTX 2070, RTX 3070 o superior
Disponibilidad en la PS5 y la Xbox Series X
Tanto la consola de Sony como la de Microsoft hacen uso de gráficas integradas que son compatibles con esta tecnología. Esto hace que sea muy factible utilizarla en la nueva generación de consolas.
Los desarrolladores de Arcmageddon anunciaron que su versión para PlayStation 5 tendría soporte para AMD FSR.
Microsoft, por su parte, ha anunciado que el kit de desarrollo de juegos para su consola Xbox integrará las bibliotecas de AMD FSR. Por lo tanto, Microsoft hará muy sencillo que se pueda implementar esta tecnología en futuros juegos.
¿Por qué el FSR 2 funciona en consolas?
Por varios motivos, el primero de ello es que al no usar cálculo entre matrices no requiere una unidad al estilo Tensor Core, el segundo es que al contrario de lo que hace NVIDIA, no hay un elemento desconocido en el hardware que sea exclusivo de la marca para acelerar el algoritmo del FSR 2.
De ahí a qué sea posible ejecutarlo en cualquier sistema con la capacidad de ejecutar cálculos en coma flotante de 16 bits, lo que no solo incluye las consolas con arquitectura RDNA 2 recortada, sino también las tarjetas gráficas de la competencia. Su alta portabilidad es su gran ventaja frente al DLSS de NVIDIA, sin embargo, se ve limitado en rendimiento comparado. En todo caso, se trata de una solución más que digna para dar algo de rendimiento a sistemas que se han quedado totalmente desfasados.
FSR 3: mayor calidad de imagen
Implementa dos actualizaciones importantes como son la generación de fotogramas y un nuevo modo de calidad mejorado. La generación de FPS en esta versión se mejora gracias a una tecnología denominada AMD Fluid Motion Frames (AFMF) y archivos temporales del juego. Entre estos archivos, tenemos los vectores de movimiento, que generan FPS adicionales de alta calidad para un aumento de hasta dos veces.
La combinación de estas tecnologías permite aumentar significativamente la cantidad de FPS generadores. Esto se consigue incluso con resoluciones 4K, altamente exigentes a nivel de texturas. Unas técnicas que se pueden utilizar con cualquiera de los modos disponibles de esta tecnología. Nos ofrece así una gran relación entre calidad de imagen y rendimiento, adaptándose a las configuraciones del usuario.
Native AA (Native Anti-Aliasing) es una nueva función que aplica el anti-aliasing y mejoras de nitidez. Permite obtener una imagen de mayor calidad con respecto a la que obtendríamos en la resolución nativa. Esta función tiene un coste de rendimiento ínfimo. Cuando se combina con FSR 3, obtenemos una imagen de mayor calidad y más FPS.
¿Qué juegos son compatibles con FSR?
Uno de los principales aspectos que debe tener una tecnología para que realmente pensemos que es buena está claro que es la compatibilidad, y es que el mayor problema al que se enfrentan aquellas que están diseñadas para ofrecer un escalado que permita mejorar el rendimiento se encuentra en que es necesario que los desarrolladores la incorporen en sus juegos. En el caso de FSR, el problema que podemos encontrar es que AMD no tiene una gran cantidad de mercado en términos de tarjetas gráficas, por lo que muchos desarrolladores pueden pensar que solo con incluir DLSS ya es suficiente.
Pero al final el escalado que ofrece la compañía no necesita de una tarjeta gráfica compatible para que funcione, sino que se activa a nivel de software y mejora en gran parte el rendimiento, esto implica que es mucho más accesible, lo que debería ser un añadido para que los desarrolladores lo incorporen en sus juegos. Y esto tal y como podemos ver se aplica en gran medida, ya que hay una gran cantidad de juegos compatibles con la tecnología, aunque no implica que tengan la última versión, ya que puede ser que la implementación se haya hecho con la primera que se lanzó y que no se haya vuelto a actualizar, por lo que obviamente no se aprovechan las ventajas añadidas posteriormente.
Esto es un problema ya que la diferencia entre las generaciones es bastante grande, si comparamos por ejemplo la versión 1.0 con la 3.1 que incluye la generación de frames y otros aspectos potenciados por IA, podemos encontrar que hay una gran cantidad de cambios que mejorarían mucho el rendimiento de un juego. En general, todos los juegos que incorporan una opción de reescalado suelen permitir utilizar FSR, aunque el problema al final está en, como bien hemos indicado, la versión que se utiliza, principalmente porque no siempre está actualizada, lo que causa que no podamos optar a utilizar las mejoras reales de las versiones posteriores.