El programa para renderizado de imágenes, Blender, va a incorporar en su próxima versión, la 2.81, OptiX. Esta extensión permite usar el potencial de los núcleos RT de las tarjetas gráficas NVIDIA RTX (ya sean GeForce, TITAN o Quadro) para ayudar en las tareas de render de las imágenes. Y los primeros resultados que se han obtenido con una copia de la versión Alpha del programa, así parecerían demostrarlo.
Ya todos conocemos bien que las actuales arquitecturas de las tarjetas gráficas están diseñadas para realizar operaciones altamente paralelizables. El renderizado a través de la tarjeta gráfica supuso un impulso enorme para la industria del diseño gráfico. Especialmente, cuando surgieron programas que eran capaces de realizar los renders de manera heterogénea, es decir, usando a la vez el procesador y la tarjeta gráfica. La incorporación de ambos componentes a las tareas de renderizado supuso un incremento exponencial en el potencial de los equipos de diseño.
La recepción inicial de las tarjetas gráficas con las extensiones RTX para renderizar Real Tracing en tiempo real fue relativamente tibia, para los usuarios de escritorio. Sin embargo, para los usuarios profesionales, la aparición de los núcleos RT en estas tarjetas gráficas supusieron un regalo caído desde el cielo. Pero, para poder aprovechar todo el rendimiento de estos núcleos, lo que se necesitaba era de la API OptiX. OptiX es una extensión desarrollada por NVIDIA que permite acelerar de manera sencilla y programable, el funcionamiento de los núcleos RT de las tarjetas gráficas que los incorporan.
¿Cuánto acelera OptiX el rendimiento de las NVIDIA RTX en Blender 2.81?
Lo primero que hay que tener en cuenta es que Blender 2.81 todavía está en su versión Alpha, con lo que estos tests no tienen por qué reflejar el resultado real del software una vez se haya finalizado. De hecho, las primeras versiones Alpha de Blender 2.81 presentaban diversos problemas de calidad de imagen en ciertas circunstancias.
Para los tests, se han usado los siguientes modelos de tarjetas gráficas:
- NVIDIA GeForce RTX 2060
- NVIDIA GeForce RTX 2060 SUPER
- NVIDIA Quadro RTX 4000
- NVIDIA GeForce RTX 2070 SUPER
- NVIDIA GeForce RTX 2080 SUPER
- NVIDIA GeForce RTX 2080 Ti
- NVIDIA TITAN RTX
Como procesador se ha empleado un AMD Ryzen 9 3900X.
Los resultados que se han obtenido son los siguientes.
Ya desde el principio, se puede ver como la implementación de OptiX en el programa Blender 2.81 supone una reducción del tiempo de procesado de la imagen bastante grande. Donde más se nota esta disminución del tiempo del render es en las tarjetas gráficas de gama inferior, como las RTX 2060 y RTX 2060 SUPER. En el resto de modelos, aunque existe esa disminución, esta no es tan grande como en los modelos ya mencionados.
¿Qué rendimiento se ve en Blender cuando usamos renderizado heterogéneo?
Para estos tests se ha sustituido el procesador AMD Ryzen 9 3900X por un AMD Threadripper 1950X. Este procesador, con sus 16 núcleos y 32 hilos. Este es un procesador bastante típico de encontrar en una empresa que se dedique al render de imágenes a nivel profesional.
Resulta chocante que la combinación de la NVIDIA RTX junto con OptiX sea la que es capaz de renderizar la escena a mucha mayor velocidad de lo que es capaz de hacerlo, no ya solo si se emplea el procesador. También si se emplea el procesador y la gráfica, pero con OptiX desactivado. Estamos hablando de diferencias que, en el caso del test más complejo de renderizar (el último de la derecha), es de casi 5 veces más rápido.
Lo que parece claro es que OptiX parece llamado a revolucionar todo el trabajo de render de imágenes que se realiza a nivel profesional. Y es bastante probable que parte de este trabajo se acabe filtrando hacia los videojuegos, como suele pasar en este mercado.