NVIDIA potenció su Ray Tracing con los RT Cores, mientras que AMD contraataca con los Ray Accelerators. Estas piezas hardware están presentes en las RTX 3000 y en las RX 6000 de cada marca, lo que hace posible que podamos disfrutar de Ray Tracing a tiempo real en cada juego.
Aunque AMD criticó de inicio al Ray Tracing, al final sucumbió al mismo y tuvo que equipar sus Radeon RX 6000 con los Ray Accelerators. A priori, parece una alternativa a los RT Cores, pero hay que diferenciar las arquitecturas RDNA 2 y Ampere, las cuales funcionan de manera diferente. A continuación, vamos a analizar de forma individualizada cada una para luego compararlas.
Índice de contenidos
NVIDIA RT Cores
La primera generación de los RT Cores vino con las RTX 2000, basadas en la arquitectura Turing y caracterizadas por soportar Ray Tracing a través de DXR. NVIDIA estuvo trabajando 10 años en traer el Ray Tracing a tiempo real en los videojuegos, y es que habían varios problemas: renderizado, rendimiento y utilidad.
El Ray Tracing hace cálculos complejos para representar una escena con una iluminación realista, haciendo énfasis en los rebotes de los rayos en los objetos de la escena. Para ello, se hace uso de la rasterización, pero esto tiene una impacto negativo en los FPS. Así que, NVIDIA lanzó DLSS para aprovechar las bondades del Deep Learning e IA y conseguir hacer viable el Ray Tracing en muchos videojuegos.
Todo esto está genial, pero, ¿qué importancia tienen los RT Cores? Pues son unos núcleos especialmente dedicados para la carga de trabajo relacionada con el Ray Tracing en tiempo real. Gracias a ello, se libera a los CUDA Cores, como al SM, de una gran cantidad de trabajo: divide y vencerás.
Los RT Cores añaden una pipeline dedicada al SM para ese cálculo de intersección de rayos, accediendo al algoritmo BVH. Este último es un algoritmo de aceleración de Ray Tracing que optimiza el cálculo y el procesamiento de la escena. Todo esto se traduce en que los SM de NVIDIA tengan menos trabajo.
Por tanto, los RT Cores tienen la misión de identificar y acelerar los comandos derivados del renderizado Ray Tracing en videojuegos. Podemos resumir, a grosso modo, las funciones de los NVIDIA RT Cores en las siguientes:
- Buscar una caja, descodificarla y hacer pruebas de intersecciones.
- Devolver el choque del rayo.
La segunda generación de los RT Cores llegó con Ampere, y NVIDIA aseguró que son el doble de potentes que los vistos en Turing. Esto tiene sentido tras ver que la RTX 3060 Ti tiene menos RT Cores que la gama alta de RTX 2000, superando a casi todas en rendimiento Ray Tracing.
AMD Ray Accelerators
Los Ray Accelerators son más novedad y se sabe menos de ellos, pero podemos decir que son una pieza clave para RDNA 2, las RX 6000 y el Ray Tracing en AMD.
En teoría, los Ray Accelerators son componentes incorporados en el Diseño de Unidad de Cómputo (Compute Unit Design), ideados para incrementar la eficiencia de los CUs a la hora de enfrentarse a cargas de trabajo derivadas de Ray Tracing.
El funcionamiento de estos RA es un poco opaco, ya que AMD no ha dado muchas explicaciones sobre ello. Oficialmente, son aceleradores de rayos cuyo propósito es atravesar la estructura de la Jerarquía de volumen limitado (BVH) para determinar las intersecciones entre rayos y cajas.
Su diseño es compatible con el DirectX Ray Tracing de Microsoft, que es el utilizado ara videojuegos en PC. Al igual que NVIDIA, AMD hace uso de un eliminador de ruido para limpiar las escenas con trazado de rayos; no obstante, no usa un hardware específico para ello. Se entiende que esto último es una razón para mermar las capacidades de precisión de las CUs.
AMD empareja un RA (Ray Accelerator) por CU (Unit Compute), pudiendo renderizar 4 intersecciones de rayos/caja por CU. En la práctica, y traducido en cifras, supone un sistema de renderizado de Ray Tracing bastante rápido sin tener un hardware específico.
Las RX 6000 tienen un as en la manga: los Ray Accelerators pueden funcionar conjuntamente con el Infinity Cache. Gracias a ello, se puede almacenar una cantidad de estructuras de volumen limitadas de forma simultánea en la caché de la GPU. En palabras llanas: se libera de carga de trabajo. Recordamos que NVIDIA no usa Infinity Cache ni nada similar en sus tarjetas gráficas.
Diferencias entre RT Cores y Ray Accelerators
Ya hemos profundizado en el hardware de Ray Tracing específico que tienen las RTX 3000 y las RX 6000, así que nos queda compararlas y sacarles diferencias. A priori, funcionan de manera similar, aunque existen diferentes matices:
En primer lugar, los RT Cores son núcleos completamente independientes, mientras que los Ray Accelerators son componentes integrados en el CU.
En segundo lugar, NVIDIA tiene mucho más depurados sus núcleos dedicados al Ray Tracing porque Ampere viene con la 2ª generación de RT Cores. En cambio, AMD acaba de debutar con su alternativa en el mercado de tarjetas gráficas, por lo que le queda camino por recorrer.
Tener más RA que RT Cores no tiene relevancia en los FPS en Ray Tracing, ya que las NVIDIA van por delante en este aspecto. Eso sí, NVIDIA hace uso de DLSS 2.0, mientras que AMD no tiene una tecnología análoga, aunque está trabajando en ella (FidelityFX Super Resolution).
Nos parece normal que AMD vaya por detrás porque NVIDIA le saca una ventaja de 2 años en I+D; de hecho, Cyberpunk 2077 es un ejemplo de la presencia que tiene NVIDIA en los videojuegos. De momento, AMD ha conseguido que el Resident Evil 8, que verá la luz en mayo de 2021, traiga soporte nativo con FidelityFX.
Ya no solo en términos de rendimiento, sino que NVIDIA ofrece a los desarrolladores la RTX Suite, un conjunto de programas muy potentes que ayudan a dotar a las escenas de un realismo brutal. Ésta se puede encontrar en GameWorks, que es el directorio de aplicaciones profesionales de NVIDIA.
Conclusiones
El problema al que tiene que hacer frente AMD no es al diseño de sus Ray Accelerators, sino a la creación de una tecnología que le permita maximizar el rendimiento en el renderizado Ray Tracing. Podemos discrepar en que AMD podría haber creado unos núcleos para Ray Tracing independientes.
Sin embargo, aún con un diseño idéntico a los RT Cores, seguiríamos teniendo el mismo problema: FPS. Y si AMD quiere ganar FPS en Ray Tracing, aparentemente, la única vía posible es utilizar la Inteligencia Artificial y Deep Learning para ello: un DLSS.
Dicho esto, AMD no está de brazos cruzados ni mucho menos, sino que está trabajando en traer FidelityFX Super Resolution, una tecnología similar al DLSS de NVIDIA que vendrá, presumiblemente, en la primera mitad de 2021. Eso sí, esta tecnología estará disponible en todo RDNA 2: consolas, PC y las futuras RX 6000M de portátiles.
Esperamos que os haya sido de ayuda esta información. Si tenéis alguna duda, comentad abajo y os responderemos en breve.
Te recomendamos las mejores tarjetas gráficas del mercado
¿Creéis qué los RA son insuficientes? ¿Cuál es vuestro ganador?