AMD FSR 2.0: Así funciona esta tecnología de reescalado

Recientemente AMD ha lanzado la tecnología FSR 2.0, que promete dar un gran salto en rendimiento en juegos. Esta tecnología FidelityFX Sper Resolucion 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.

La tecnología AMD FSR llega para competir directamente con NVIDIA DLSS. Ambas se basan en el mismo principio, pero cada una funciona de manera distinta. Destacar que DLSS es una tecnología pensada en primera instancia para compensar las perdidas de rendimiento de NVIDIA Ray Tracing.

 

¿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. Reciente AMD ha lanzado 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”.

 

¿Cómo funciona AMD FSR 2.0?

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.

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.

El término puede resultar complejo, pero se explica muy fácilmente con los siguientes pasos:

  1. A cada objeto en pantalla se le da una ID o identificación en modo de variable.
  2. 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.
  3. 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.
  4. 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.

Vectores Movimiento

 

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.

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.

Z-Buffer

 

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.

AMD FSR 2.0 Calidad Deathloop

 

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 FSRDescripciónFactor de escalaResolución de entradaResolución de salida
PerformanceAfecta 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
BalancedProduce 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
QualityProduce 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 QualityProduce 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.0AMD RX 6800 XT AMD RX 6700 XT AMD RX 5700 XT
4K< 1.1 ms
1440p < 0.8 ms
1080p< 0.6 ms

Mientras que el coste computacional en modo rendimiento (performance) es el siguiente:

Resolución FSR 2.0AMD RX 6800 XTAMD RX 6700 XTAMD RX 5700 XT
4K< 1 ms< 1.5 ms
1440p< 0.7 ms< 0.9 ms
1080p< 0.5 ms
 

¿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 especifico 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 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 (<20 FPS)

 

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.

 

Juegos compatibles con AMD FSR

  • Far Cry 6
  • God of War
  • Horizon Zero Dawn
  • Godfall
  • Resident Evil Village
  • Terminator: Resistance
  • The Riftbreaker
  • World War Z: Aftermath
  • Anno 1800
  • Arcmageddon
  • Assetto Corsa Competizione
  • Back 4 Blood
  • Baldur’s Gate 3
  • Black Desert
  • Call of Duty: Vanguard
  • Century: Age of Ashes
  • Chernobylite
  • CRSED: F.O.A.D.
  • Cyberpunk 2077
  • Death Stranding Director’s Cut
  • Deep Rock Galactic
  • DOTA 2
  • Dying Light 2 Stay Human
  • Edge of Eternity
  • Edge of the Abyss: Awaken
  • Elite Dangerous: Odyssey
  • Enlisted
  • Evil Genius 2: World Domination
  • F1 2021
  • Gamedec
  • Ghostrunner
  • Ghostwire: Tokyo
  • Grounded
  • Hellblade: Senua’s Sacrifice
  • Hot Wheels Unleashed
  • ICARUS
  • KEO
  • Kingshunt
  • Lego Builder’s Journey
  • Marvel’s Avengers
  • Marvel’s Guardians of the Galaxy
  • Myst
  • Myth of Empires
  • Necromunda: Hired Gun
  • No Man’s Sky
  • Phantasy Star Online 2 New Genesis
  • Quake II RTX
  • Ready or Not
  • Second Extinction
  • Shadow Warrior 3
  • The Medium
  • UNDYING
  • War Mongrels
  • Warhammer Vermintide 2
  • Workshop Simulator
  • World of Warcraft: Shadowlands
  • World of Warships
  • X4: Foundations
  • 22 Racing Series
  • A Chinese Ghost Story
  • JX3
  • NiShuiHan
  • Deathloop (compatible con FSR 2.0)
  • Asterigos (compatible con FSR 2.0)
  • Delysium (compatible con FSR 2.0)
  • EVE Online (compatible con FSR 2.0)
  • Farming Simulator 22 (compatible con FSR 2.0)
  • Forspoken (compatible con FSR 2.0)
  • Grounded (compatible con FSR 2.0)
  • Microsoft Flight Simulator (compatible con FSR 2.0)
  • NiShuiHan (compatible con FSR 2.0)
  • Perfect World Remake (compatible con FSR 2.0)
  • Swordsman Remake (compatible con FSR 2.0)
  • Unknown 9: Awakening (compatible con FSR 2.0)
 

Juegos que agregaran FSR próximamente

  • Do Something
  • Escape Form Tarkov
  • Evil V Evil
  • Hellish Quart
  • Hitman III
  • Iron Conflict
  • arma Ther Dark World
  • Raji
  • SCP: Pandemic
  • Stray Blade
  • Super People
  • The Elder Scrolls Online
  • Rising
  • Warface
¡Sé el primero en comentar!