Antes de nada, ¿Qué es el render por GPU?
Llamamos render por GPU cuando usamos la GPU ósea, la tarjeta gráfica que tengamos instalada en nuestro equipo para realizar los cálculos de render. ¿Cómo lo hace? La tarjeta grafica que usas para visualizar en tu programa de 3D o para jugar a video-juegos, tiene una cantidad importante de núcleos de calculo, dentro de los chips que la componen. Esos núcleos, que siempre se han usado para acelerar los cálculos necesarios para rasterizar los fotogramas del video juego y poder llegar a una buena tasa de FPS (fotogramas por segundo), desde hace unos 13-14 años se han venido utilizando para el renderizado con motores de render no en tiempo real, como los ya clásicos iray o Arion.
En la actualidad podríamos decir que hay dos tipos de render por GPU:
Solo GPU: El motor de render solo usa la GPU para hacer el render, deja el procesador inactivo o como mucho lo usa para hacer algunos procesos no relacionados con el render. Por ejemplo, motores que únicamente usan la GPU tenemos estos: Octane, RenderShift, FStorm…
GPU o CPU: En este caso, el motor de render se puede alternar entre CPU o GPU para hacer el render. No puedes usar los dos métodos para sumar potencia de calculo. Tenemos los siguiente motores: Maxwell render, Indigo Render…
GPU + CPU: Este grupo es en mi opinión el mas interesante, aprovechan todos los recursos del ordenador para hacer los renders, usan los procesadores de la GPU y de la CPU lo que se llama un render hibrido. En este grupo tenemos: V-Ray GPU, Thea Render, iray…
¿Qué tarjeta grafica necesito para hacer render por GPU?
En la actualidad, la mayoría de motores de render por GPU apuestan por la tecnología CUDA. CUDA es un acrónimo de una de las tecnologías patentadas de Nvidia: Compute Unified Device Architecture. ¿Su propósito? Computación paralela eficiente. Estos núcleos aceleran los procesos de cálculo de GPU. Un solo núcleo CUDA es análogo a un núcleo de CPU, con la diferencia principal de que es menos sofisticado pero implementado en un número mucho mayor. Una CPU común tiene entre 2 y 16 núcleos, pero los núcleos de CUDA son cientos o miles, incluso en las GPU de Nvidia mas económicas. Por ejemplo, si comprásemos la nueva RTX 3090 tendríamos la cantidad de 10496 núcleos CUDA. En conclusión, la cantidad de núcleos CUDA es muy importante para conseguir el render antes. AMD dispone de una tecnología similar, pero la mayoría de los desarrolladores están apostando por la tecnología de Nvidia.
Ventajas y desventajas del render por GPU.
Algunas ventajas y desventajas del procesamiento de CPU incluyen:
- Desarrollar para la CPU es más fácil la mayor parte del tiempo, ya que hace que agregar más funciones sea un proceso más simple. Además, los desarrolladores generalmente están más familiarizados con la programación para la CPU.
- Las CPU pueden implementar algoritmos que no se adaptan al calculo paralelo de los procesadores de las GPU.
- La CPU tiene acceso directo a los discos duros y la memoria principal del sistema, lo que le permite almacenar una mayor cantidad de datos en la memoria del sistema, que es ampliable y más rentable.
- Los programas de CPU tienden a ser más estables y mejor ajustados debido a la madurez de las herramientas disponibles.
- Las CPU no se apilan bien: sus diseños cambian con frecuencia y se requiere una nueva placa base para las actualizaciones, lo que puede ser muy costoso.
- Las CPU son energéticamente ineficientes y gastan grandes cantidades de energía para ofrecer resultados de baja latencia.
Algunas ventajas y desventajas del renderizado por GPU incluyen:
- Escalabilidad en configuraciones de renderizado multi-GPU. Podemos instalar varias GPU en un solo equipo.
- Las soluciones de renderizado de GPU consumen menos energía que las CPU.
- Aumentos de velocidad: muchos sistemas de renderizado modernos son adecuados para software y hardware de GPU, que están diseñados para tareas masivamente paralelas y pueden proporcionar un mejor rendimiento general.
- Menores costos de hardware debido al aumento de la potencia de cálculo.
- Las GPU no tienen acceso directo a la memoria principal del sistema ni a los discos duros y deben comunicarse a través de la CPU.
- Las GPU dependen de las actualizaciones de los controladores para garantizar la compatibilidad con el nuevo hardware.
¿Cuáles son los consejos profesionales para renderizar con GPU?
-El primer consejo es elegir la GPU adecuada, en mi opinión, no hay que escatimar en este componente. Debemos fijarnos en dos cosas, la cantidad de núcleos CUDA y el tamaño de la VRAM. Cuando renderizamos una escena, esta escena se guarda en la VRAM, que es en definitiva la RAM de la GPU. Por eso, si queremos trabajar con grandes escenas, mas polígonos, mas mapas de desplazamiento, mas arboles poligonales… necesitaremos mas VRAM. Los núcleos CUDA nos darán velocidad de render, cuantos mas núcleos, menos tardará nuestro render en terminar.
-Utilizar en nuestro motor de render instancias o proxies, siempre nos ayuda a bajar el numero de polígonos en nuestra escena y hace que el motor de render tarde mucho menos en hacer los cálculos.
-El mapa de desplazamiento, si puedes sustituirlo por mapa de normales mejor, hay que usarlo con mucha cautela, ya que nos consumirá la VRAM muy rápido.
-Reciclar los mapas usados en la escena, es mejor usar pocos y aplicar algún ajuste de color o cambiarlos de escala.
-Usa algún tipo de denoiser, eso te ayudará a reducir los tiempos de render y eliminar el ruido que pueda quedar.
-Como ultimo consejo, si no conseguimos que nuestra grafica renderice, por que nuestra escena es muy grande o se cierra el programa y no podemos actualizar a una GPU mas potente, la decisión mas sensata es volver al render por CPU, este es mucho mas robusto, aunque no tan rápido, pero a veces no se puede tener todo…
Quizás también te pueda interesar Todo sobre el render por GPU con V-Ray
film says
Genial. Una forma muy interesante de ver el panorama actual. Ame Emory Catlin
Álex ruiz says
Buenos días llevo 15 días tratando de activar mis tarjetas de video (gtx260 y gtx275 Nvidia ) al sistema vida para manejar un programa de diseño pero no he podido, he intentado con visual studio, Python. Y nada ustedes me puede ayudar o guiar para poder arreglar este problema.
Mi correo es aiinnovacion@gmail.com
Mi nombre Álex Ruiz
Bogotá.
Gracias buen día.
Jose Vicente Sanz March says
Esas graficas no soportan CUDA.
Eduwin Fuentes says
Buen dia llevo varios dias tratando de activar el 3d de photoshop en mi computador y no he podido