Los juegos con Unreal Engine 5 necesitarán un SSD NVMe, ¿por qué?

La semana pasada Epic mostró la versión ya casi finalizada de su motor gráfico Unreal Engine 5, el cual va a traer consigo entre sus novedades el uso de Nanite, el cual permitirá el renderizado haciendo uso de micropolígonos, pero el mayor cambio a nivel de hardware que impondrá el motor UE5 es el uso de SSD, donde serán el tipo de almacenamiento obligatorio. Os explicamos por qué será así y qué consecuencias tendrá esto en futuras GPUs.

El uso de micropolígonos son sin duda uno de los cambios más importantes que veremos en los próximos años, pero para ello antes se ha de resolver la limitación de tamaño mínimo de los fragmentos a 2×2 píxeles, lo que hace que las GPUs actuales sean sumamente ineficientes a la hora de renderizar micropolígonos con el pipeline 3D convencional.

Rasterización triángulos

¿Qué es un fragmento? Pues se trata de un triángulo que ha sido rasterizado y convertido en una matriz de píxeles, un proceso que se da en cada una de las imágenes que se procesan en el pipeline 3D convencional, el que utilizan el 100% de los juegos. ¿A qué viene la limitación de los 2×2 píxeles? Por el hecho que los Pixel/Fragment Shaders siempre operan en bloques de 2×2 píxeles. El motivo de ello es que para aplicar el filtro bilineal son necesarios 4 pixeles adyacentes en total. ¿Resulta esto una limitación? Durante años no lo fue, pero recientemente ha pasado a serlo ya que UE5 hará uso de este tipo de estos para crear

¿La ventaja detrás del uso de micropolígonos? Permite crear modelados de forma más fácil y realista que los polígonos convencionales, pero su uso trae cambios en el pipeline, como es la obligatoriedad del SSD en UE5.

Nanite, uno de los pilares de UE5

UE5 SSDEl año pasado Epic hizo un adelanto de su Unreal Engine 5, sus dos tecnologías más impresionantes fueron Lumen y Nanite. Es sobre la última llamada Nanite sobre la que vamos a hablar, ya que va a ser crucial para la adopción masiva de los SSD en los PCs gaming, ya que requiere de dicho tipo de almacenamiento para funcionar de manera eficiente.

Nanite no es más que la aplicación de REYES al pipeline gráfico convencional. siendo REYES el antiguo pipeline gráfico que utilizó Pixar para sus películas antes de dar paso al trazado de rayos con Cars. El concepto de REYES consiste en el uso de micropolígonos, siendo un micropolígono algo tan pequeño que a la hora de rasterizarse puede tener el tamaño de un pixel y no de una malla de los mismos.

La contrapartida a ello está en el hecho que para el Ray Tracing hemos de tener un mapa de toda la geometría de la escena en forma de una estructura de datos espacial. Tener la posición de cada micropolígono resultaría en un BVH de tal tamaño que no habría memoria para almacenarlo. No obstante se pueden crear formas básicas compuestas por micropolígonos para componer otras más complejas y es aquí donde entra el uso del SSD obligatorio en los juegos que hagan uso de UE5..

¿Por qué los SSD NVMe serán obligatorios con UE 5?

PS5 SSD

La idea no es otra que la de crear un mapa de la geometría de la la escena, es decir, del nivel, pero utilizando dos índices distintos

  • Cada forma básica construida a través de micropolígonos que se utiliza para construir la geometría de la escena se almacena en memoria y se le asigna un índice.
  • Cada objeto en pantalla se compone de una estructura jerárquica en forma de grafo o de árbol donde por un lado se especifica la forma básica que compone esa parte del modelo y por otra qué otras formas van conectadas para construir el modelo.
  • El segundo índice no almacena las formas básicas, sino la referencia a la forma básica, reduciendo con ello el tamaño en memoria del mapa de la geometría.

¿Qué tiene esto que ver con los SSD? Sencillo, en vez de almacenar toda la estructura jerárquica de un nivel en memoria la almacenamos en el SSD, el método es el mismo que un sistema de texturas virtuales, con la diferencia que en este caso traemos la geometría de la escena desde el SSD a la VRAM de manera directa. Gracias a ello el SSD no solamente se utiliza para trasladar grandes bloques de texturas al vuelo, sino que podemos hacer aparecer estructuras geométricamente complejas delante de los usuarios, a una gran velocidad y sin sobrecargar la VRAM.

De la misma manera que el SSD permite almacenar las partes no utilizadas de los mapas de los mapas de texturas virtuales en una megatextura para cargar solo las partes visibles o cercanas a la escena del juego, pero esta vez con la geometría de la misma.

6 Comentarios