Con la salida de las RX 7900 de AMD, la palabra Ray Tracing está en boca de sus detractores, ya que es en ese aspecto donde las arquitecturas gráficas de AMD siguen perdiendo frente a las de NVIDIA. Aunque no se puede negar una mejora respecto a la anterior generación, la RX 6000. Sin embargo, esto no es lo único que nos preocupa, sino también los dos tipos de Ray Tracing en juegos, lo cual es uno de los motivos por los cuales el trazado de rayos no se haya estandarizado.
El hecho de que tanto las Xbox Series como PS5 usen como procesador gráfico o GPU la arquitectura RDNA 2 de AMD es un problema, en especial por las limitaciones y el bajo rendimiento de la misma en Ray Tracing. Un tema del que os hablamos en su día y que ha confirmado la propia AMD al hablar de las novedades en las RX 7900 y, por tanto, en la arquitectura RDNA 3. No obstante, las consolas le están sirviendo a AMD para bloquear la adopción del trazado de rayos en los juegos en lo máximo posible.
¿Por qué los dos tipos de Ray Tracing son un problema?
Cuando AMD lanzo sus RX 6000, Microsoft actualizo su API DXR a la versión 1.1 para añadir el llamado Inline Ray Tracing. Esto no significa un tipo diferente de trazado de rayos o una tecnología nueva y desconocida. Es decir, el proceso sigue siendo el mismo, la gran diferencia es que en vez de hacerlo en las diferentes etapas que podéis ver definidas en el siguiente diagrama:
Lo que hace es unificar las diferentes etapas shader en un super-shader de gran tamaño. El objetivo no es otro que simplificar la creación de efectos en baja resolución y que no requieren mucho rendimiento eliminando en el proceso las instrucciones como saltos y bucles. En principio parece una gran idea, sin embargo, cambia la forma de codificar el Ray Tracing y se hizo para tapar las carencias de las RX 6000 en Ray Tracing.
El problema es que cuota de mercado manda, y en PC el dominio de NVIDIA es de 3/4 por lo que nos encontramos que en PC una gran cantidad de juegos se encuentran optimizados para el Ray Tracing de NVIDIA, lo que lleva a que AMD tenga que depender de acuerdos con ciertos estudios para que optimicen sus juegos. Al final tenemos dos tipos de Ray Tracing y nos encontramos casos concretos como Callisto Protocol o el ya veterano Far Cry 6, juegos patrocinados por AMD, que usan el Inline Ray Tracing y donde la diferencia de rendimiento no es tan grande, pero que han tenido que ser desarrollados específicamente con las arquitecturas de AMD en mente.
El problema real de fondo: las patentes.
Los primeros en implementar el Ray Tracing en una GPU convencional y crear un sistema mixto no fue la gente de NVIDIA con sus RTX, sino muchos años antes por parte de Caustic Graphics. Empresa que fue comprada por Imagination Technologies que es la que tiene en sus manos una gran cantidad de patentes.
El problema con los dos tipos de Ray Tracing es que el llamado Patent Trolling es lo que ha hecho que AMD, NVIDIA e Intel no hayan llegado a la misma conclusión para solventar un problema común, dado que Imagination sigue teniendo una parte importante de los avances bajo su poder. De ahí esas divergencias que lo que hacen es dificultar el trabajo más difícil a los desarrolladores. Estamos como a principios de la era de los gráficos en 3D, donde había mil y una API distintas y donde programar para una marca era hacerlo en detenimiento de otras.
Todo por un tema de patentes entre marcas, hecho con tal de ganar ventajas sobre el adversario y que no ha beneficiado para nada a la implementación del trazado de rayos en juegos. Pronto se cumplirán 5 años y parece que continuemos en la casilla de salida.