Así es como la CPU y la GPU afectan al rendimiento en Ray Tracing

Así es como la CPU y la GPU afectan al rendimiento en Ray Tracing

Redacción

No hay ninguna duda que los fabricantes de tarjetas gráficas han empezado la transición hacia el uso generalizado del Ray Tracing en los juegos, periodo que va a suponer varias generaciones de tarjetas gráficas y es que el trazado de rayos requiere de una alta potencia para funcionar. Pero, ¿Qué factores afectan al rendimiento en el Ray Tracing? Os lo explicamos.

Tener la CPU o la GPU más potente no vale a día de hoy para que los juegos que utilizan trazado de rayos vayan como la seda. Incluso a día de hoy con esta técnica siendo utilizada de forma tan primitiva, el rendimiento en el Ray Tracing no es el esperado. ¿Qué fenómenos son los que lo afectan?

¿Cómo afecta la CPU al rendimiento en el Ray Tracing?

CPU Render

Ya os hemos hablado de los volúmenes delimitados o BVH más de una vez en diversos artículos, pero a día de hoy estos no son generados por la GPU, sino que los juegos utilizan un BVH general para el nivel, el cual le permite a esta posicionar los diferentes elementos de la escena según la posición del jugador. ¿El uso más común? Pese a que es la GPU la que renderiza la escena, en cada fotograma la CPU ha de calcular el estado de cada uno de los elementos.

Es por ello que en los juegos se suelen utilizar estructuras de datos espaciales como mapa del nivel, las cuales sirven para localizar la posición de cada elemento en pantalla respecto al jugador y la estructura del nivel. De esta manera se localizan todos los esfuerzos de cálculo en lo que ocurre cercano a donde se encuentra su avatar y que el jugador puede ver en ese momento.

No-Clip Quake

Hay trucos en varios juegos que nos permiten salir de los extremos de un mapa o incluso ver todo lo que ocurre en el escenario al mismo tiempo. Cuando lo hacemos entonces el rendimiento del juego baja en picado. Pues bien las estructuras de datos espaciales son generadas por la CPU, ya que son la herramienta que utiliza para descartar de la escena todo aquello que no es visto por el jugador y que por tanto sería una pérdida de recursos tener que calcularlos al mismo tiempo.

La CPU por tanto cuando crea la lista de pantalla para que sea calculada por la GPU lo que va a hacer es crear una lista de pantalla en dicho fotograma con todos los objetos a la vista del jugador y le será completamente igual que sea matemáticamente correcto que más allá del espacio de visionado hayan elementos que también afectan a la escena.

Al mismo tiempo también se encarga de actualizar el BVH en cada fotograma y entregarlo renovado a la GPU. Dado que en el BVH los elementos estáticos del nivel no se mueven, pero los móviles cómo NPCs, personajes o el mismo jugador sí que lo hacen en cada nivel y es la CPU la encargada de actualizar el estado de cada uno.

GPUs y rendimiento en el Ray Tracing

GPU AMD VRAM

Las GPU son los procesadores para el procesamiento en paralelo por antonomasia, tanto es así que llevamos años en los que en la computación de alto rendimiento, o HPC, estas se utilizan para acelerar las partes en paralelo de los diferentes programas. Siendo el Ray Tracing una de las aplicaciones que más se benefician de la paralelización y por tanto más se benefician en apariencia de la potencia de las GPUs, no obstante, aún estamos muy alejados del paradigma ideal en que las GPUs tal y como las conocemos ahora sean el hardware ideal para el Ray Tracing.

En el Ray Tracing al igual que en el otro algoritmo para generar gráficos en 3D, la rasterización, lo que hacemos es coger una colección de objetos en un espacio en tres dimensiones y lo representamos en un espacio de dos dimensiones compuesto por una matriz de píxeles que es la pantalla. No obstante, nunca se ha conseguido que una GPU renderiza a tiempo real una escena basada en el Ray Tracing a la misma velocidad y con el mismo rendimiento que con la rasterización.

El Ray Tracing no depende de la resolución

ray tracing amd

Decir esto puede parecer atrevido para muchos, al fin y al cabo el rendimiento a renderizar a FHD no es lo mismo que a QHD o 4K. Las variaciones en el rendimiento son dispares, pero una vez entendáis a qué nos referimos vais a entender el porqué hablamos de que no depende de la resolución.

El algoritmo original del Ray Tracing habla de hacer impactar los rayos primarios y secundarios de la escena contra cada uno de los píxeles de la escena. Esto requiere mucha potencia, por lo que en vez de utilizar el algoritmo original, lo que se hace es utilizar estructuras de datos espaciales como el BVH con tal de acelerar el algoritmo. Ya que sin la estructura de datos espacial, el Ray Tracing necesitaría una enorme potencia de cálculo. Data center

De ahí el uso de estructuras de datos espaciales en forma de árbol para acelerar el rendimiento de las GPU en Ray Tracing. No obstante, los juegos a día de hoy tienen escenas extremadamente complejas cuya estructura de datos utilizada para la intersección no se puede almacenar en las cachés de la GPU debido a su tamaño. Por lo que se hace es copiar fragmentos de la estructura en la caché de la GPU desde la VRAM a medida que son necesarios.

El otro truco es cómo ya sabréis a estas alturas es el uso de hardware encargado de realizar el cálculo de la intersección de cada rayo con la estructura de datos. Se trata de un cálculo que se realiza de manera continua y recursiva y acabaría consumiendo recursos en gran cantidad a la GPU, por eso con estas unidades vemos aumentos de rendimiento de entre cinco veces y una orden de magnitud.

El problema de la localización de los datos

BVH recorrido

En realidad no estamos representando el trazado de la luz, debido a que en la vida real la luz no tiene tiempo y por su velocidad se encuentra en todos los lugares a la vez. Por lo que la estructura de datos no representa o lo que es la trayectoria de un rayo de luz en la escena, sino que partes de la escena que se ven afectadas por el mismo.

Lo que hacemos es organizar los objetos de la escena en conjuntos que llamamos volúmenes delimitados, de tal manera que se interpreta que si el rayo no pasa por un volumen delimitado entonces no afectará a los objetos, otros volúmenes delimitados, que se encuentren dentro de su conjunto.

NVIDIA BVH

Lo primero que podemos pensar es que sería buena idea dividir el espacio de la escena de manera regular. De tal manera que de una parte de la escena se encargue una parte de la GPU y de otra parte de la escena otra parte de la misma. Dicho de otra manera, sería como coger un mapa y delimitarlo por cuadrantes, haciendo que la información de cada cuadrante o incluso subcuadrante sea almacenado por los diferentes niveles de la caché. Se trata de un método que funciona muy bien con el rasterizado.

En el trazado de rayos en cambio, nos podemos encontrar que si dividimos una escena en varios subespacios que un solo rayo de luz pase por diversos subespacios, los cuales pueden estar asignados a diferentes elementos de proceso en la GPU. Es por ello que lo que se hace es tomar un camino totalmente distinto, no se divide la escena según los píxeles que se ven afectados por cada rayo, sino que se cataloga cada rayo según las áreas de la escena que atraviesa.

El ejemplo del vehículo y el mapa

Mapa Vehiculo

Para entender mejor la situación, supongamos que tenemos que marcar el trazado de un vehículo encargado de realizar entregas en un mapa. ¿De qué forma lo podemos hacer? La primera de ellas consiste en crear el mapa y dibujar el recorrido. La segunda no es otra que hacer una lista de las áreas del mapa por las que ha pasado el vehículo para luego construir su recorrido más fácilmente.

En el segundo caso podemos reconstruir por completo el recorrido convirtiendo este en un recorrido lineal. Al fin y al cabo solo nos interesa por donde ha pasado el vehículo y no por donde no ha pasado, por lo que en el caso de utilizar un mapa buena parte de la información sería superflua y la podríamos descartar al no aportarnos nada.

Pero el hecho de crear una lista ordenada no quita que quien conduce el vehículo tenga que recorrer una gran cantidad de kilómetros para sus entregas. Esa información no se tiene en cuenta y lo mismo ocurre con el rendimiento en el Ray Tracing, cada uno de los rayos tiene un coste computacional distinto, no solo por tener un recorrido diferente, sino por el hecho que no sabemos los saltos a memoria que tendremos que hacer.

1 Comentario
Logo hardzone.es
Navega gratis con cookies…

Navegar por hardzone.es con publicidad personalizada, seguimiento y cookies de forma gratuita. i

Para ello, nosotros y nuestros socios i necesitamos tu consentimiento i para el tratamiento de datos personales i para los siguientes fines:

Las cookies, los identificadores de dispositivos o los identificadores online de similares características (p. ej., los identificadores basados en inicio de sesión, los identificadores asignados aleatoriamente, los identificadores basados en la red), junto con otra información (p. ej., la información y el tipo del navegador, el idioma, el tamaño de la pantalla, las tecnologías compatibles, etc.), pueden almacenarse o leerse en tu dispositivo a fin de reconocerlo siempre que se conecte a una aplicación o a una página web para una o varias de los finalidades que se recogen en el presente texto.

La mayoría de las finalidades que se explican en este texto dependen del almacenamiento o del acceso a la información de tu dispositivo cuando utilizas una aplicación o visitas una página web. Por ejemplo, es posible que un proveedor o un editor/medio de comunicación necesiten almacenar una cookie en tu dispositivo la primera vez que visite una página web a fin de poder reconocer tu dispositivo las próximas veces que vuelva a visitarla (accediendo a esta cookie cada vez que lo haga).

La publicidad y el contenido pueden personalizarse basándose en tu perfil. Tu actividad en este servicio puede utilizarse para crear o mejorar un perfil sobre tu persona para recibir publicidad o contenido personalizados. El rendimiento de la publicidad y del contenido puede medirse. Los informes pueden generarse en función de tu actividad y la de otros usuarios. Tu actividad en este servicio puede ayudar a desarrollar y mejorar productos y servicios.

La publicidad que se presenta en este servicio puede basarse en datos limitados, tales como la página web o la aplicación que esté utilizando, tu ubicación no precisa, el tipo de dispositivo o el contenido con el que está interactuando (o con el que ha interactuado) (por ejemplo, para limitar el número de veces que se presenta un anuncio concreto).

  • Un fabricante de automóviles quiere promocionar sus vehículos eléctricos a los usuarios respetuosos con el medioambiente que viven en la ciudad fuera del horario laboral. La publicidad se presenta en una página con contenido relacionado (como un artículo sobre medidas contra el cambio climático) después de las 18:30 h a los usuarios cuya ubicación no precisa sugiera que se encuentran en una zona urbana.
  • Un importante fabricante de acuarelas quiere realizar una campaña publicitaria en Internet para dar a conocer su última gama de acuarelas con la finalidad de llegar tanto a artistas aficionados como a profesionales y, a su vez, se evite mostrar el anuncio junto a otro contenido no relacionado (por ejemplo, artículos sobre cómo pintar una casa). Se detectará y limitará el número de veces que se ha presentado el anuncio a fin de no mostrarlo demasiadas veces.

La información sobre tu actividad en este servicio (por ejemplo, los formularios que rellenes, el contenido que estás consumiendo) puede almacenarse y combinarse con otra información que se tenga sobre tu persona o sobre usuarios similares(por ejemplo, información sobre tu actividad previa en este servicio y en otras páginas web o aplicaciones). Posteriormente, esto se utilizará para crear o mejorar un perfil sobre tu persona (que podría incluir posibles intereses y aspectos personales). Tu perfil puede utilizarse (también en un momento posterior) para mostrarte publicidad que pueda parecerte más relevante en función de tus posibles intereses, ya sea por parte nuestra o de terceros.

  • En una plataforma de redes sociales has leído varios artículos sobre cómo construir una casa en un árbol Esta información podría añadirse a un perfil determinado para indicar tuinterés en el contenido relacionado con la naturaleza, así como en los tutoriales de bricolaje (con el objetivo de permitir la personalización del contenido, de modo que en el futuro, por ejemplo, se te muestren más publicaciones de blogs y artículos sobre casas en árboles y cabañas de madera).
  • Has visualizado tres vídeos sobre la exploración espacial en diferentes aplicaciones de televisión. Una plataforma de noticias sin relación con las anteriores y con la que no has tenido contacto en el pasado crea un perfil basado en esa conducta de visualización marcando la exploración del espacio como un tema de tu posible interés para para otros vídeos.

El contenido que se te presenta en este servicio puede basarse en un perfilde personalización de contenido que se haya realizado previamente sobre tu persona, lo que puede reflejar tu actividad en este u otros servicios (por ejemplo, los formularios con los que interactúas o el contenido que visualizas), tus posibles intereses y aspectos personales. Un ejemplo de lo anterior sería la adaptación del orden en el que se te presenta el contenido, para que así te resulte más sencillo encontrar el contenido (no publicitario) que coincida con tus intereses.

  • Has leído unos artículos sobre comida vegetariana en una plataforma de redes sociales. Posteriormente has usado una aplicación de cocina de una empresa sin relación con la anterior plataforma. El perfil que se ha creado sobre tu persona en la plataforma de redes sociales se utilizará para mostrarte recetas vegetarianas en la pantalla de bienvenida de la aplicación de cocina.
  • Has visualizado tres vídeos sobre remo en páginas web diferentes. Una plataforma de video, no relacionada con la página web en la que has visualizado los vídeos sobre remo, pero basandose en el perfil creado cuando visistaste dicha web, podrá recomendarte otros 5 vídeos sobre remo cuando utilices la plataforma de video a través de tu televisor .

La información sobre qué publicidad se te presenta y sobre la forma en que interactúas con ella puede utilizarse para determinar lo bien que ha funcionado un anuncio en tu caso o en el de otros usuarios y si se han alcanzado los objetivos publicitarios. Por ejemplo, si has visualizado un anuncio, si has hecho clic sobre el mismo, si eso te ha llevado posteriormente a comprar un producto o a visitar una página web, etc. Esto resulta muy útil para comprender la relevancia de las campañas publicitarias./p>

  • Has hecho clic en un anuncio en una página web/medio de comunicación sobre descuentos realizados por una tienda online con motivo del “Black Friday” online y posteriormente has comprado un producto. Ese clic que has hecho estará vinculado a esa compra. Tu interacción y la de otros usuarios se medirán para saber el número de clics en el anuncio que han terminado en compra.
  • Usted es una de las pocas personas que ha hecho clic en un anuncio que promociona un descuento por el “Día de la madre”de una tienda de regalos en Internet dentro de la aplicación de una web/medio de comunicación. El medio de comunicación quiere contar con informes para comprender con qué frecuencia usted y otros usuarios han visualizado o han hecho clic en un anuncio determinado dentro de la aplicación y, en particular, en el anuncio del “Día de la madre” para así ayudar al medio de comunicación y a sus socios (por ejemplo, las agencias de publicidad) a optimizar la ubicación de los anuncios.

La información sobre qué contenido se te presenta y sobre la forma en que interactúas con él puede utilizarse para determinar, por ejemplo, si el contenido (no publicitario) ha llegado a su público previsto y ha coincidido con sus intereses. Por ejemplo, si hasleído un artículo, si has visualizado un vídeo, si has escuchado un “pódcast” o si has consultado la descripción de un producto, cuánto tiempo has pasado en esos servicios y en las páginas web que has visitado, etc. Esto resulta muy útil para comprender la relevancia del contenido (no publicitario) que se te muestra.

  • Has leído una publicación en un blog sobre senderismo desde la aplicación móvil de un editor/medio de comunicación y has seguido un enlace a una publicación recomendada y relacionada con esa publicación. Tus interacciones se registrarán para indicar que la publicación inicial sobre senderismo te ha resultado útil y que la misma ha tenido éxito a la hora de ganarse tu interés en la publicación relacionada. Esto se medirá para saber si deben publicarse más contenidos sobre senderismo en el futuro y para saber dónde emplazarlos en la pantalla de inicio de la aplicación móvil.
  • Se te ha presentado un vídeo sobre tendencias de moda, pero tu y otros usuarios habéis dejado de visualizarlo transcurridos unos 30 segundos. Esta información se utilizará para valorar la duración óptima de los futuros vídeos sobre tendencias de moda.

Se pueden generar informes basados en la combinación de conjuntos de datos (como perfiles de usuario, estadísticas, estudios de mercado, datos analíticos) respecto a tus interacciones y las de otros usuarios con el contenido publicitario (o no publicitario) para identificar las características comunes (por ejemplo, para determinar qué público objetivo es más receptivo a una campaña publicitaria o a ciertos contenidos).

  • El propietario de una librería que opera en Internet quiere contar con informes comerciales que muestren la proporción de visitantes que han visitado su página y se han ido sin comprar nada o que han consultado y comprado la última autobiografía publicada, así como la edad media y la distribución de género para cada uno de los dos grupos de visitantes. Posteriormente, los datos relacionados con la navegación que realizas en su página y sobre tus características personales se utilizan y combinan con otros datos para crear estas estadísticas.
  • Un anunciante quiere tener una mayor comprensión del tipo de público que interactúa con sus anuncios. Por ello, acude a un instituto de investigación con el fin de comparar las características de los usuarios que han interactuado con el anuncio con los atributos típicos de usuarios de plataformas similares en diferentes dispositivos. Esta comparación revela al anunciante que su público publicitario está accediendo principalmente a los anuncios a través de dispositivos móviles y que es probable que su rango de edad se encuentre entre los 45 y los 60 años.

La información sobre tu actividad en este servicio, como tu interacción con los anuncios o con el contenido, puede resultar muy útil para mejorar productos y servicios, así como para crear otros nuevos en base a las interacciones de los usuarios, el tipo de audiencia, etc. Esta finalidad específica no incluye el desarrollo ni la mejora de los perfiles de usuario y de identificadores.

  • Una plataforma tecnológica que opera con un proveedor de redes sociales observa un crecimiento en los usuarios de aplicaciones móviles y se da cuenta de que, en funciónde sus perfiles, muchos de ellos se conectan a través de conexiones móviles. La plataforma utiliza una tecnología nueva para mostrar anuncios con un formato óptimo para los dispositivos móviles y con un ancho de banda bajo a fin de mejorar su rendimiento.
  • Un anunciante está buscando una forma de mostrar anuncios en un nuevo tipo de dispositivo. El anunciante recopila información sobre la forma en que los usuarios interactúan con este nuevo tipo de dispositivo con el fin de determinar si puede crear un nuevo mecanismo para mostrar la publicidad en ese tipo de dispositivo.

El contenido que se presenta en este servicio puede basarse en datos limitados, como por ejemplo la página web o la aplicación que esté utilizando, tu ubicación no precisa, el tipo de dispositivo o el contenido con el que estás interactuando (o con el que has interactuado) (por ejemplo, para limitar el número de veces que se te presenta un vídeo o un artículo en concreto).

  • Una revista de viajes, para mejorar las experiencias de viaje en el extranjero, ha publicado en su página web un artículo sobre nuevos cursos que ofrece una escuela de idiomas por Internet. Las publicaciones del blog de la escuela se insertan directamente en la parte inferior de la página y se seleccionan en función de la ubicación no precisa del usuario (por ejemplo, publicaciones del blog que explican el plan de estudios del curso para idiomas diferentes al del país en el que este te encuentras).
  • Una aplicación móvil de noticias deportivas ha iniciado una nueva sección de artículos sobre los últimos partidos de fútbol. Cada artículo incluye vídeos alojados por una plataforma de streaming independiente que muestra los aspectos destacados de cada partido. Si adelantas un vídeo, esta información puede utilizarse para determinar que el siguiente vídeo a reproducir sea de menor duración.

Se puede utilizar la localización geográfica precisa y la información sobre las características del dispositivo

Al contar con tu aprobación, tu ubicación exacta (dentro de un radio inferior a 500 metros) podrá utilizarse para apoyar las finalidades que se explican en este documento.

Con tu aceptación, se pueden solicitar y utilizar ciertas características específicas de tu dispositivo para distinguirlo de otros (por ejemplo, las fuentes o complementos instalados y la resolución de su pantalla) en apoyo de las finalidades que se explican en este documento.

O sin cookies desde 1,67€ al mes

Por solo 1,67€ al mes, disfruta de una navegación sin interrupciones por toda la red del Grupo ADSLZone: adslzone.net, movilzona.es, testdevelocidad.es, lamanzanamordida.net, hardzone.es, softzone.es, redeszone.net, topesdegama.com y más. Al unirte a nuestra comunidad, no solo estarás apoyando nuestro trabajo, sino que también te beneficiarás de una experiencia online sin cookies.