La palabra Ray Tracing era desconocida para los usuarios de ordenadores personales, ya que era un vocablo más relacionado con el mundo de la animación 3D profesional. Dado que hablar de Ray Tracing era hablar de complejos sistemas compuestos por varios ordenadores en paralelo, ocupando toda una habitación. Pues bien, las RTX 40 tienen un secreto en su interior que va a provocar dos cosas a futuro. La primera es diferenciarse aún más de AMD en este aspecto en lo que a rendimiento se refiere, la segunda es que facilitará aún más la adopción del trazado de rayos en los juegos.
Pronto ya hará un lustro del lanzamiento de las RTX 20, y el lanzamiento de un juego comercial con solo Ray Tracing no ha ocurrido. Por lo que cierta predicción de NVIDIA no se ha cumplido. Si lo miramos en frío, ha pasado el mismo tiempo entre las RTX 20 y las RTX 40 que entre la primera Voodoo Graphics y la GeForce original. Es decir, la evolución en cuanto a arquitecturas gráficas es a día de hoy menor que a finales del siglo pasado.
¿Cuál es el secreto de las NVIDIA RTX 40?
Dado que vamos a comentar una patente y estas tienen como objetivo la resolución de un problema existente, pues lo primero que nos toca hacer es explicar cuál es dicho problema. La idea más básica del algoritmo del Ray Tracing es que por cada píxel en la imagen se dispara un rayo desde la perspectiva del espectador, y luego se determina si en ese píxel hay un objeto o no, si lo hay se lo pinta de un color determinado y así continuamente.
Sin embargo, su ventaja visual reside en el hecho de que también podemos invocar rayos desde los objetos y es aquí donde entra el gran problema. Si no hay condición límite, los rayos rebotan indefinidamente por la escena y la complejidad del algoritmo crece hasta el infinito, no pudiéndose ejecutar y congelando el ordenador.
Por lo que hay que poner una serie de condiciones de finalización:
- El rayo sale de la escena hacía el vacío, por lo que su instancia correspondiente se elimina.
- Se asigna un número determinado de rebotes por rayo, una vez llegado a esa cantidad el rayo se destruye.
- A cada objeto se le da un cociente de refracción que va del 0 al 1, un 1 es un material espejo, un 0 es literalmente un agujero negro. Cuando dicho cociente en un rayo es demasiado bajo, entonces se destruye.
- Determinando la distancia entre dos objetos, si esta es demasiado grande, entonces el rayo se destruye.
Pues bien, el secreto de las RTX 40 tiene que ver precisamente con el último punto.
La aplicación en las tarjetas gráficas actuales.
Una vez que hemos especificado el problema hemos de hablar de la solución. Lo que ocurre es que en el caso de las API Vulkan y DirectX, usadas para los juegos. En ellas los rayos no se ejecutan de forma automática, sino que han de ser explícitamente llamados por el código del juego. Así pues, nos podemos encontrar de repente escenarios donde el Ray Tracing desaparece total o parcialmente para poder mantener una alta tasa de frames.
El secreto del RT Core de las RTX 40
Pues bien, en los RT Core de tercera generación y si hacemos caso a cierta patente publicada en el último año por parte de NVIDIA, hay muchas probabilidades que dicha unidad reciba una mejora importante. Se trataría de dos nuevas unidades que servirán para acelerar el trazado de rayos.
- La primera de ellas es capaz de determinar la distancia entre la cámara y un objeto o entre dos objetos. Lo cual ahorra potencia al resto del chip gráfico en dicha tarea. Por lo que si el segundo objeto se encuentra demasiado lejano respecto al primero desde el que se invoca el rayo, entonces se marca el rayo que iría de una unidad a otra como descartable Otra cosa que puede hacer es disminuir la potencia de la fuente de luz con tal de mejorar la representación de las sombras.
- En cuanto a la segunda unidad, esta se encargaría de determinar si invoca más rayos según las condiciones de la escena. Es decir, los que se han descartado por efecto de la distancia, entonces se pueden recuperar en otros objetos. Por lo que al final todo se basa en un uso inteligente de los recursos que tenemos disponibles.
Todo ello no nos lo hemos inventado, sino que pertenece a la información de una patente de NVIDIA titulada ADAPTIVE RAY TRACING SUITABLE FOR SHADOW RENDERING desde donde se describe todo el proceso y de donde hemos sacado la imagen de abajo.
El objetivo de NVIDIA con la RTX 40, dejar fuera a AMD.
La idea de NVIDIA no sería otra que la de automatizar el Ray Tracing y, por tanto, hacer todos los juegos compatibles sin necesidad de parches de ningún tipo por parte de los programadores. Esto les daría una ventaja enorme respecto a AMD, dado que esta técnica solo se podría ejecutar en sus tarjetas gráficas.
Si a esto le sumamos que de un fotograma a otro la gran mayoría de objetos de la escena no varían su distancia entre ellos dado que son estáticos, entonces el sistema lo tiene mucho más fácil para asignar que rayos se invocan y cuáles no. En todo caso, el objetivo final es que los juegos saquen mayores velocidades en frames en las tarjetas de NVIDIA en comparación con sus rivales directos.
Por cierto, aunque esto es menos fiable, se dice que NVIDIA podría aumentar el ratio de los RT Cores de unidad por SM a unidad por subcore, es decir, cuadriplicar su cantidad respecto a las actuales RTX 30. Aunque esto cogedlo más bien con pinzas, en todo caso, de ser así. Sería un importante puñetazo sobre la mesa frente a sus rivales y un paso más hacía la adopción masiva del Ray Tracing en juegos.