La aparición de las técnicas de aumento de resolución automático han sido la comidilla en los últimos meses. Con pocos cambios en los juegos y a través de una serie de procesos es posible conseguir mayor velocidad en los juegos sin tener que invertir más en el hardware. Otra de las mejoras es el trazado de rayos. ¿Qué tal se llevan el DLSS y el FSR con el Ray Tracing y que relación tienen entre ellas?
La premisa a nivel de marketing de las llamadas técnicas de aumento de resolución automático, como son el DLSS de NVIDIA, el FSR de AMD y el XeSS de Intel, es la de poder conseguir más fotogramas a ciertas resoluciones. Es decir, que la tasa de refresco aumente y el juego nos parezca más fluido. Sin embargo, la existencia de esta técnicas más bien responde a una necesidad que se ha creado al implementar técnicas de Ray Tracing en los juegos. ¿El objetivo? Hacer que se requiera menos potencia para generar la misma escena, pero es que el Trazado de Rayos y la resolución están muy relacionados entre sí.
Ray Tracing versus Rasterización
Bajo estos dos extraños nombres nos referimos a los protocolos y metodología generales con los que las tarjetas gráficas generan gráficos en 3D. No vamos a entrar en los detalles profundos de cada uno de ellos, sino irnos a sus ventajas y desventajas más simples.
Históricamente, siempre hemos usado el algoritmo de rasterización que opera a partir de cada polígono en pantalla. Es por ello, que aunque a día de hoy dicha tasa de rendimiento ya no se use, durante mucho tiempo la cantidad de polígonos por segundo era una forma de medir el rendimiento de las gráficas.
Así pues, los videojuegos 3D empezaron con pocos polígonos y han ido aumentando en detalle desde entonces. Esto es lo que hace que este método sea el más utilizado en videojuegos, es sumamente rápido debido a que la cantidad de polígonos que hay una imagen siempre es menor que la cantidad de píxeles.
En cambio, el Ray Tracing es diferente, más bien es la inversa, ya que se calcula por cada píxel en pantalla. Lo peor de todo es que no puede procesar si en ese píxel hay un objeto o no. Es por ello que se necesite crear una estructura de datos que le informe de la posición de los objetos. Lo cual si estamos renderizando un fotograma para el cine no es ningún problema, ya que el sistema dispondrá de dicha información de antemano, pero no en un videojuego.
Renderizado híbrido
El truco para aplicar el Ray Tracing en videojuegos es eliminar el problema de la visibilidad creando primera una escena a través de la rasterización para poder crear la base de datos que le servirá a la máquina para saber que contiene cada píxel. Al mismo tiempo, esto servirá para que ciertos píxeles que no tienen nada no se comprueben. Una vez se tiene la información no se genera la escena de nuevo a través de Ray Tracing, sino que se utiliza para solucionar algunos problemas visuales que la rasterización no puede solventar de forma precisa.
El trazado de rayos ha aparecido en videojuegos por el hecho que los efectos de postprocesado basados en la rasterización no pueden procesar bien efectos como los reflejos en los objetos, la generación de sombras, la oclusión ambiental y en general todo aquello que se genere por varios rebotes de luz con un objeto, ya que no calcula la trayectoria de la luz. A esos efectos se les llama Screen Space Effects o efectos a nivel de pantalla y son de postprocesado y se realizan con la imagen ya generada.
El renderizado híbrido va más allá, toma una imagen generada por la rasterización y la base de datos sobre la posición de los objetos en la escena para aplicar de manera más precisa esos efectos visuales y crear versiones visualmente más precisas. Por lo como habréis adivinado, dependemos de la cantidad de píxeles en pantalla.
Ray Tracing junto a DLSS y FSR
Como habréis concluido de las secciones anteriores, el objetivo no es otro que reducir la cantidad de píxeles sobre la que se aplica el trazado de rayos y con ello disminuir el tiempo necesario en generar cada uno de los fotogramas. Por lo que el DLSS o el FSR se aplicarán después del Ray Tracing. El problema es que dentro del tiempo de cada fotograma se necesita un tiempo de margen para realizar dichas técnicas. La clave es que en el trazado de rayos se toma tanta potencia que en algunos casos no se pueden conseguir resoluciones tan altas que si se usa solo la rasterización. Aunque más bien es falta de potencia de las gráficas actuales.
El otro problema es el hecho de que usar el DLSS o el FSR con el Ray Tracing podría destruir la información de la imagen. Por lo que desde el punto de vista de la fidelidad visual, la combinación de las tres técnicas no parece la más adecuada. Es más, han de ser los programadores del juego los que decidan si hacerlas compatibles o no. Dado que el resultado final puede no ser el esperado. En todo caso, es una de las asignaturas pendientes tanto para NVIDIA o AMD y, por tanto, su aplicación dependerá de cada juego.