Unreal Engine 5 está abordando el mayor problema en los gráficos de PC

respec dt imagen destacada 2
Esta historia es parte de la serie ReSpec de Jacob Roach, que cubre el mundo de los juegos y el hardware para PC.

durante su Estado de la dirección irreal en GDC 2023, Epic anunció un amplio conjunto de características para Unreal Engine 5.2. Pero quizás lo más la característica importante que viene en el motor actualizado no se relaciona con la iluminación, el detalle de la geometría o el rayo rastreo. Se trata de rendimiento.

Contenido

  • Recuerda el tartamudeo
  • Todo para Fortnite
  • Todavía hay mucho por lo que emocionarse

Vídeos recomendados

Motor irreal Los juegos, para bien o para mal, se han asociado con la tartamudez y los tirones en los últimos años. Con el nuevo lanzamiento, Epic finalmente está abordando el problema de frente, así que pensé que era hora de analizar por qué los juegos Unreal son tan comúnmente muestran tartamudeo, qué está haciendo Epic para resolver el problema y cuándo podemos esperar ver esos esfuerzos aparecer en nuevos lanzamientos.

Recuerda el tartamudeo

Marco de tiempo en Gotham Knights para PC.
Estos picos de tiempo de marco se manifiestan como tartamudeos severos en Gotham Knights.

En los últimos años, Unreal Engine se ha convertido en sinónimo de tartamudeo. Lo hemos visto una y otra vez, desde Star Wars Jedi: Orden caída Extraviado a caballeros de gotham, y todos tienen el mismo problema en común. Es tartamudeo de compilación.

Por lo general, escuchará sobre el tartamudeo de la compilación de sombreadores, pero las fuentes recientes de problemas no se deben a sombreadores individuales. En gráficos recientes API como Vulkan y DirectX 12, los paquetes conocidos como Pipeline State Objects (PSO) se aprovechan para informarle al juego sobre el estado de su GPU. Los PSO están destinados a hacer que el renderizado sea más eficiente, permitiendo que docenas de parámetros, incluidos los sombreadores, se interconecten entre la API y la GPU en un solo paquete.

Sin embargo, introducen un problema diferente. Debido a que los PSO contienen tanta información, generar uno nuevo sobre la marcha lleva mucho tiempo (según a la documentación de Unreal, 100 o más milisegundos). Esta creación de PSO en tiempo de ejecución es la fuente de un tartamudeo, donde el motor tiene que generar un nuevo PSO mientras estás jugando.

Para combatir esto, el almacenamiento en caché de PSO está disponible en Unreal Engine. Esto crea un caché de posibles PSO, por lo que no es necesario generar nuevos mientras juegas, pero no son perfectos. Como explica Epic, el almacenamiento previo en caché de PSO puede "ser una carga para proyectos grandes y aún así dejar espacios en el caché que conducen a problemas". Es por eso que, incluso en los juegos que precompilan sombreadores en la GPU, de vez en cuando verás un tartamudeo (incluso si son pocos y lejanos). entre).

Epic está intentando automatizar este proceso mediante la recopilación de PSO en lugar de dejar que los desarrolladores tengan en cuenta todos los parámetros GPU posibles. Esta encendido Hoja de ruta pública de Epic, pero ahora solo está disponible una versión experimental. En Unreal Engine 5.2, el objetivo es mejorar el almacenamiento en caché de PSO para reducir aún más los problemas.

Todo para Fortnite

Una escena de Fortnite ejecutándose en Unreal Engine 5.

Hay mucho por lo que emocionarse en Unreal Engine 5 (hablaré de eso a continuación), pero aún no tenemos una visión clara de cómo funciona el motor. Hasta ahora, solo se ha utilizado en demostraciones tecnológicas y Fortnite entre los principales lanzamientos. Incluso juegos como Caída roja que prometieron aprovechar Unreal Engine 5 han retrocedido a Unreal Engine 4.

Para ser claros, las herramientas disponibles en Unreal Engine 4 permiten a los desarrolladores optimizar sus juegos para evitar la tartamudez. Corazón atómicoes uno de los muchos ejemplos de eso. Pero el estado complejo de los PSO ha dejado la puerta abierta a problemas durante el juego, y la recopilación de PSO automatizada de Epic solo se introdujo en Unreal Engine 5.1.

Aunque estoy feliz de ver que Epic aborda el problema directamente, aún no hemos visto el caché automático de PSO en proceso. A medida que surgen lanzamientos variados y más complicados de equipos más pequeños, la demanda de generación de PSO aumenta y la posibilidad de problemas y tartamudeos se vuelve más presente.

Esto es particularmente preocupante para los juegos que incluyen trazado de rayos, ya que Unreal Engine 5 no admite el almacenamiento en caché de PSO para trazado de rayos PSO. Como Nvidia explica, es posible distribuir el trabajo de creación de un PSO de trazado de rayos en varios subprocesos, pero eso no significa necesariamente que los desarrolladores utilizarán este proceso.

Todavía hay mucho por lo que emocionarse

Iluminación en Unreal Engine 5.

Todavía necesitamos ver la recopilación de PSO automatizada en Unreal Engine 5, pero en realidad hay mucho por lo que estar entusiasmado en el motor. En primer lugar, Lumen. La iluminación es extremadamente importante para la fidelidad gráfica, y las técnicas costosas como la iluminación con trazado de ruta mostrada en PortalRTXson duros con el hardware. Lumen divide la diferencia.

Lumen aprovecha el trazado de rayos, pero es una forma altamente optimizada de trazado de rayos. En lugar de calcular minuciosamente rebotes infinitos en objetos detallados, Lumen usa abstracciones para calcular la iluminación para la mayor parte de la escena, solo prefiriendo la iluminación detallada más cercana a la cámara. Esta optimización permite que Lumen se ejecute con software trazado de rayos, abandonando la necesidad de tener dedicado trazado de rayos aceleradores en su tarjeta grafica.

Los resultados ya son claros. Fortnite se ejecuta en consolas con Lumen a 60 fotogramas por segundo (fps), y se ve impresionante en PC, incluso en Fortnite's mundo de dibujos animados.

Un escaparate de Nanite en Unreal Engine 5.

Nanite trabaja en conjunto con Lumen. Es un sistema de geometría virtualizado que contiene mallas altamente detalladas y comprimidas que se pueden ajustar durante el juego. Es básicamente un nivel de detalle (LOD) complejo para mallas que cambia automáticamente entre mallas detalladas y vagas dependiendo de hacia dónde mire la cámara.

Más importante aún, Nanite se ejecuta en su propio pase de renderizado, por lo que no está atrapado en la tubería de GPU tradicional. Eso significa que su juego se mantiene fluido incluso cuando Nanite está cambiando la complejidad de la malla. Entre Nanite y Lumen, tiene dos características visualmente impresionantes y computacionalmente eficientes que elevan el nivel de fidelidad gráfica.

Sin embargo, Epic compartió más durante su dirección State of Unreal. Substrate es un nuevo sistema de materiales en Unreal 5.2 que incluye un control de sombreado más detallado. Epic hizo una demostración de esto con un material de superficie de ópalo, mostrando múltiples capas y una refracción de luz precisa en todas ellas.

Un material de ópalo en Unreal Engine 5.

El nuevo marco de generación de contenido procedimental (PCG) también es emocionante, incluso si no se relaciona directamente con la fidelidad visual. Con una entrada limitada, el PCG puede generar nuevos objetos para permitir a los desarrolladores construir rápidamente mundos con un alto nivel de detalle. Eso es emocionante para mundos más amplios que no necesitan el toque de un artista en cada esquina.

Hay mucho más, desde avances en MetaHuman hasta el seguimiento completo de rutas dentro de Unreal Engine. Es emocionante, pero los problemas de tartamudeo comúnmente asociados con los lanzamientos de Unreal Engine permanecen. Con suerte, los avances de Epic en el almacenamiento en caché de PSO pueden evitar ese problema, pero todavía no tenemos muchos juegos de Unreal Engine 5 para ver cómo funciona ese sistema.

Este artículo es parte de ReEspecificación – una columna quincenal continua que incluye discusiones, consejos e informes detallados sobre la tecnología detrás de los juegos de PC.

Recomendaciones de los editores

  • Traté de revivir el legado olvidado de Halo como una franquicia de Mac, y fue un desastre.
  • Con asociaciones exclusivas de PC, todos pierden
  • Los peores puertos de PC de todos los tiempos, y por qué eran tan malos
  • Cómo la IA generativa creará juegos con "mundos más amplios, más grandes y más profundos"
  • Star Wars Jedi: Survivor está siendo bombardeado en Steam como un puerto de PC de "basura total"