Comentario#1:

El DLSS lo sacó Nvidia a la vez que el raytracing precisamente para poder soportarlo sin impacto en el rendimiento. La idea de dividir la resolución nativa es dividir el coste del raytracing, y con lo que te ahorras de tiempo de fotograma para lo demás, costeas el raytracing.

Eso es confundir la casualidad con la causalidad, el DLSS se implementó para hacer ver que los Tensor Cores que venían de Volta tenían sentido, es más, durante la primera versión del algoritmo la opinión generalizada por parte de los expertos es que no tenían sentido en un hardware gaming, aunque la cosa cambio con el 2.0.

Da lo mismo si es Checkerboard o FSR, la idea es la misma.

¿La falta de potencia de cara al Ray Tracing? Lo divertido es que las RTX 30 están muy por delante del resto en Ray Tracing y aun así necesitan el DLSS. Por cierto, no me compares soluciones vía shaders de computación con las de aprendizaje profundo, no son lo mismo.

Todo esto lo que nos dice es que en ningún momento se ha planteado el Ray Tracing en consolas sin sacrificios, claro que hay que hacerlos, pero son los mismos que ya se hacen en PC.

No, el problema es que en consolas la implementación del Ray Tracing por el hecho que pierdes potencia para tener que recorrer el árbol BVH a través de un Compute Shader en vez hacerlo desde la unidad de intersección, cosa que no ocurre con RTX 30. Es más, el hardware más avanzado en Ray Tracing hasta el momento es la arquitectura Photon de Imagination que presentaron hace unas semanas y el cual hace uso de Ray Tracing coherente y no aparece en ninguna consola y tampoco en PC desde el momento en que está pensado para dispositivos PostPC, aunque se puede escalar para hacer una tarjeta gráfica dedicada.

Y la culpa de esto la tiene Microsoft y su obsesión de «todo se tiene que poder hacer por computación en la GPU», lo que ha llevado a una implementación de medio pelo en consolas. No tiene ningún sentido una unidad de intersección a medias.

Es más, la gente de Imagination le han hecho esto a AMD en el whitepaper de su arquitectura Photon, bueno, no exactamente.

Esto es lo que planteaba Microsoft en el 2018 al presentar la versión preliminar de DirectX Ray Tracing, el que sean los Compute Shaders los encargados de ejecutar el recorrido del BVH y los cálculos de intersección. ¿El resultado? Demostraciones que requerían hasta 3 o 4 NVIDIA Volta combinadas, no exagero.

En NVIDIA fueron mucho más inteligentes, crearon una NVIDIA Volta para gaming a la que le añadieron los RT Cores que fueron las RTX 20. Eso sí, tuvieron que utilizar el DLSS y los Tensor Cores, pero se pasó de necesitar 4 tarjetas gráficas profesionales de 3000 euros cada una a una sola de 500 euros y todo por descargarle el trabajo de recorrido del BVH y la intersección a los shaders, es lo que se dice un sistema de nivel 3.

¿Y qué hace AMD? Pues no se les ocurre otra cosa que plantear un sistema a medias, un sistema de nivel 2,5 en la que han vendido la moto de la «versatilidad» para realizar algo tan recurrente y repetitivo como recorrer una estructura de datos.

El año que viene cuando salgan las RDNA 3 entonces veréis como AMD tendrá una solución de nivel 3 aparte de otras mejoras. En cuanto a las soluciones de nivel 4, estas tienen relación con el Ray Tracing Coherente.

En HardZone hice un artículo sobre el tema, la realidad es que el Ray Tracing se está implementando todavía en las GPU para gaming y aún faltan unas cuantas generaciones para que su rendimiento sea el adecuado.

Comentario#2:

«En el Ray Tracing los shaders no pueden correr en paralelo por el hecho que este utiliza shaders, por lo que lo has entendido mal».

Por lo que recuerdo de lo que vi en su momento, creo que lo ha entendido bien:

Es una arquitectura diferente de la de NVIDIA. Con NVIDIA los shaders se quedan parados esperando a que la parte de Ray Tracing haga su trabajo, mientras que en AMD se comparten recursos de hardware, se pierde rendimiento y se gana flexibilidad, y se hace en paralelo repartiendo la carga como estimen oportuno. Tiene pros y contras respecto al planteamiento de Nvidia, que sacrifica área de shaders.

No, no lo has entendido bien y deja de intentar defender lo indefendible y sacar cosas como «flexibilidad» que es la misma mierda que argumentaba SONY para defender la tocada de huevos que eran las arquitecturas del Emotion Engine y el CBEA en su día. El problema de la versatilidad es que no sirve para problemas concretos si tienes una función más eficiente que consume menos energía, usa menos transistores y funciona más rápido.

Por cierto, lo de que los shaders se quedan esperando en las GPU de NVIDIA a que la parte del Ray Tracing haga su trabajo es falso, para eso está la computación asíncrona, para que hagan cosas mientras están parados. Lo que no entendéis es que los shaders en RDNA 2 se ven forzados a hacer algo de más que no deberían hacer y eso afecta al rendimiento. Es una mierda de implementación que está siendo defendida por fanboys.

Comentario#3:

Como se tiraban lo Fanboy de Sony, cuando les decías que su PS5 a nivel de arquitectura era RDNA1, y te decían que era FUD XD, ahora ya se usa de manera más generalizada por lo que veo.

Se ha de tener en cuenta que RDNA 2 no es más que puro marketing de AMD, ya que en su negocio semi-custom ofrecen una serie de bloques desde los que sus clientes se pueden montar su propia GPU. Es más, hay elementos en ambas consolas que son más de RDNA que RDNA 2 como el planificador dentro de cada Compute Unit que es de 40 olas en vez de 32.

En todo caso las arquitectura de Microsoft es más RDNA 2 que la de SONY, que solo adopta las Ray Accelerator Units y punto, además que es algo adoptado a última hora que no tenía prioridad en PS5 según SONY. Vamos, que irónicamente a SONY le ha ocurrido lo mismo que SEGA con la Saturn, pero no han sido tan chapuceros.

En realidad el RT tampoco es tan malo comparado con el de Nvidia, la mayoría de juegos anda en torno a los 30% con eso que AMD implemento el tema de Wave32 en los drivers. La única diferencia de los RA y los RT Core, es que los RA no tienen unidad para recorrer el BVH lo hacen los CU(FP32).

El Ray Tracing en consolas es viable, pero actualmente estamos en transición y muchos desarrolladores tendrán que aprender jugar con el tema de optimizar(recortar), las consolas por ejemplo no podrán manejar renderizado full resolución en reflejos o GI por ejemplo, tendrán que hacerlo mitad de resolución o un cuarto para ganar rendimiento, temas de jugar con los materiales, los bounces sencundarios etc .

No, el hecho es que está limitado por el hecho que una pieza fundamental como es la unidad de intersección de rayos está incompleta, algo que debería servir para liberar a las unidades shader de la GPU para realizar otras tareas no lo hace por una implementación a medio pelo y la excusa es «flexibilidad».

Cuando te tienes que pasar horas solucionando un problema que debería estar solucionado a eso lo llaman flexibilidad. Me jode mucho que en la vida real siempre ocurra que te preparas para lo difícil y te viene lo fácil, lo que debería funcionar de por sí o no gastar esfuerzo y de repente se hace más complicado.

Por ejemplo años después los de 4games aprendieron usar rebotes infinitos en su GI en Metro Exodus a través de usar el truco de un fotograma previo, lo cual aumento en gran medida la calidad de GI en Metro Enhanced con un costo gratis.

Halo no emplea RT, porque es un juego pensando para Xbox One, conforme se vayan acomodando los desarrolladores en la Next Gen veremos más juegos con efectos RT.

Ya, pero eso no quita que la implementación a nivel de hardware en ambas plataformas, PlayStation y Xbox, sea mala.