¿Qué son los RT Cores y para qué sirve?
¿Qué son los RT Cores?
Los núcleos RT o RT Cores se introdujeron en las tarjetas gráficas Nvidia con arquitectura Turing con el fin de procesar y realizar tareas de trazado de rayos en tiempo real, con las primeras gráficas en usarlos siendo las Quadro RTX presentadas a finales de 2018 e introduciendo la arquitectura. Luego, estos núcleos aparecerían en toda la línea RTX 2000 de tarjetas gráficas GeForce siendo la primera generación de la marca en sustituir la nomenclatura GTX usada para las generaciones anteriores para denotar que esas tarjetas contaban con núcleos dedicados para el procesamiento del trazado de rayos.
Pero, aunque estos núcleos se introdujeron en la arquitectura Turing de Nvidia, no todas las gráficas de la misma generación los tienen, teniendo a las GTX 1600 que también son de la arquitectura, pero sin contar con estos núcleos ni con los de procesado de IA que sí que tienen sus hermanas mayores y que también se introdujeron en esa generación, para ayudar con otras tecnologías como por ejemplo el DLSS, que también se introdujo por primera vez con esas tarjetas gráficas en parte como un efecto colateral al trazado de rayos debido a su participación en algunas partes del proceso del trazado de rayos y a la necesidad de optimizar el rendimiento que se perdía con las tareas de procesamiento de rayos en tiempo real que en resoluciones como 1440p o 4K podían ser un problema pudiendo no llegar a tasas de fotogramas necesarias para una experiencia fluida.
Las tarjetas gráficas AMD también cuentan con sus propios núcleos para el procesamiento de escenas con trazado de rayos, que funcionan de forma parecida a los RT Cores de Nvidia, aunque los del equipo rojo aparecieron una generación más tarde, con las RX 6000 o RDNA 2, enfrentándose a la segunda generación de los núcleos RT de Nvidia presentes en las gráficas Ampere y por tanto ofreciendo un rendimiento menor a ellos en este tipo de tareas, aunque todo apunta a que seguirán apareciendo y habrá que ver cómo evoluciona la diferencia en las siguientes generaciones.
¿Para qué sirven los RT Cores?
Los núcleos RT sirven para procesar escenas con efectos de trazado de rayos, lo cual consiste en dibujar la trayectoria que seguiría cada rayo de luz en la escena y como rebotaría de las superficies, lo cual se usa para conseguir representaciones muy realistas de reflejos y efectos de iluminación y sombras.
Para empezar a calcular el trazado de rallos en una escena hay que pasar por varias fases, ya que no es un proceso sencillo, más bien al contrario, con muchos pasos complejos que van en paralelo al renderizado normal de la escena.
Para empezar, lo primero que se hace es trazar los rayos primarios, también conocidos como “Camera Rays” ya que su origen está en la cámara que verá la escena. Esto significaría que para cada fotograma se tendrían que trazar rayos para todos los pixeles de la escena y calcular como irían reaccionado, de ahí que tradicionalmente se necesitaran días o incluso semanas para renderizar una escena, tiempo que se ha reducido con los RT Cores y gracias a nuevas formas de emular el cálculo y la inclusión en el proceso de la inteligencia artificial gracias también a los núcleos IA de las tarjetas de Nvidia.
La forma de optimizar el proceso que usa Nvidia para agilizar el procesamiento y poder hacerlo en tiempo real es organizar la escena según el punto de vista de la cámara en cada fotograma, haciendo un árbol de objetos conocido como BVH con el contenido de la escena y siguiéndolo a la hora de procesar para saber de forma aproximada como cada rayo actuará en cada objeto. Este proceso es simple pero se tiene que repetir muchas veces, entrando ahí los RT Cores para acelerarlo, pero hay otro problema y es que el proceso generaría una imagen con ruido, lo cual lo solucionan los núcleos de IA que también se incluyeron en estas gráficas para suavizar rápidamente la imagen y así poder ofrecer una experiencia fluida y con una gran calidad de imagen.