Blog Personal.

Conceptos Básicos, Feedback

Respondiento a Set sobre los RT Cores

Comentario Original:

Sobre los RT Core, tengo una duda, si nos basamos en esta tabla de Metro Exodus y sus diagrama de frame, siendo la Iluminación Global el efecto mas pesado del ray tracing, podemos observar que los RT core tienen un pico maximo de 23 Tflops de uso de los 80 Tflops del peak:

Si Nvidia duplica RT cores en Ampere crees que veamos un escalado lineal??, me explico para renderizar ray Tracing hay dos face:

  • La parte de la interseccion de rayos (que lo hacen los RT core)
  • Y la parte de Shading/sombreado (que lo hacen los shaders tradicionales Fp32 de la GPU)

Me pregunto no habrá un cuello si la GPU es capaz de hacer mas intersecciones, pero el shading al ser menos potente los shaders frene o cree una cola porque no es capas de seguirle el ritmo??.

El ejemplo del metro no es fiable ya que es un frame de muchos, pero si lo tomamos encuenta como ejemplo, Los RT core no estan usando todo su pontencial, mas RT core no añadiría mas rendimiento(en este ejemplo), asi que para mejorar el RT puede que no sea mejor mas RT core, si no algo equilibrado entre mas RT core y mas shaders/cudas.

Cuando salio Turing lei un articulo del Vray donde hacia referencia algo parecido, donde comentaba algo parecido que RT core muy rapidos,pero shading lento lastraba.

Hemos de tener en cuenta que los TFLOPS son una tasa de velocidad, para que te hagas una idea el hecho de que yo recorra una distancia con un vehículo que va a 120Km/h primero y luego tome otro que va a 200Km/h para realizar la misma distancia no significa que yo haya hecho más kilometros sino que haré esa distancia en menos tiempo.

Entiendo lo que quieres decir, el problema de tu planteamiento es que en el DirectX Raytracing tienes que especificar que elementos son emisores y cuales son receptores. Puede que un rayo interseccione con un elemento pero si no tienes definido el shader resultado de dicha intersección el elemento no se modifica, si además no tienes creado el Shader de emisión entonces el objeto no genera luz. Es decir, los rayos no van rebotando sin control porque si y si la cantidad de rebotes esta controlada entonces cuando se hayan realizado todos los rebotes estipulados en el código pues la unidad de intersección que es el RT Core no va a hacer más porque no hay más a realizar.

El RT Core es una unidad de función fija que requiere unos datos de entrada para funcionar, si de repente no tiene datos de entrada deja de funcionar porque no puede operar. Imaginate que tengo una máquina de hacer galletas donde solo tengo que colocar los ingredientes y me las hace. ¿Que ocurre cuando faltan los ingredientes? ¿Va a hacer galletas de la nada? La verdad es que no.

Y entiendo que si miramos la definición del trazado de rayos que estos esten continuamente rebotando hasta que:

  • Salgán de escena.
  • Su coeficiente de refracción/emisión sea 0.

Los rayos llevan con ello un coeficiente de emisión, dependiendo del tipo de superficie el rayo resultante tiene más o menos energía acumulada, cuando llega a 0 deja de emitirse. Pero eso no es lo que ocurre en el DXR

En el DXR para que una superficie emita un rayo tienes que invocar el Ray Generation Shader, esto significa que el control de la emisión de estos no depende del coeficiente de refracción/emisión de la superficie sino de un programa shader que lo ha de invocar.

La gente se piensa que vamos a tener trazado de rayos en todo en la siguiente generación cuando no es así, es una versión muy primitiva del trazado de rayos pensada para mejorar cosas como las sombras, reflejos… Pero algo muy pero que muy primitivo debido a la enorme capacidad de cálculo que necesita.

Esto es todo, tenéis el Discord y los comentarios de esta entrada para comentarla.

0 0 vote
Article Rating
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Daniel

Hola, de casualidad acabo de ver esto (que por cierto me ha encantado)

https://www.google.com/amp/s/vandal.elespanol.com/noticia-amp/1350734071/psvr-sony-demuestra-en-video-su-prototipo-de-mando-con-con-deteccion-dactilar/

Si no recuerdo mal, en uno de tus artículos hablabas de como Sony quería deshacerse del uso de una cámara para el tracking, lo cual está en consonancia con esto

Saludos