Tarjetas gráficas

DirectX 12: Anuncian función para que los juegos no estén limitados por el CPU

La API DirectX 12 está añadiendo una nueva característica llamada Work Graphs 1.0, con el que se busca que los futuros videojuegos estén menos limitados por el CPU.

DirectX 12: Nueva función para eliminar el cuello de botella del CPU

Microsoft ha lanzado Work Graphs 1.0, con la idea de que los futuros videojuegos desarrollados con la API DirectX 12 aprovechen mejor el hardware de la GPU y dejen de estar tan limitados por el CPU.

Actualmente, el CPU tiene un papel protagónico en la asignación en los recursos de la GPU, algo que está añadiendo ciclos adicionales a la hora del renderizado de los juegos. Lo que hace Work Graphs 1.0 es permitir que la GPU genere trabajo por sí misma y que requiera de una menor intervención del CPU. La siguiente imagen ejemplifica más claramente cómo funciona.

“Con la proliferación de técnicas de renderizado basadas en la GPU (como Nanite en Unreal Engine 5), el papel de la CPU está tendiendo a centrarse principalmente en la gestión de recursos y el seguimiento de elementos, y sólo una parte del tiempo se dedica a generar comandos para la GPU. Antes de la aparición de los gráficos de trabajo de D3D12, resultaba difícil realizar una gestión detallada de la memoria en la GPU, por lo que era prácticamente imposible utilizar algoritmos con expansión dinámica del trabajo. Incluso las cadenas largas y sencillas de trabajo de cálculo secuencial podían dar lugar a una sobrecarga significativa de sincronización y memoria.

El renderizado en la GPU se realizaba de forma que la CPU tenía que adivinar qué asignaciones temporales necesitaba la GPU, a menudo sobreasignando en el peor de los casos, y utilizando la lectura de fotogramas anteriores para el refinamiento. Cualquier carga de trabajo con expansión dinámica implicaba la emisión de envíos en el peor de los casos desde la CPU, haciendo que la GPU se adelantara al trabajo innecesario, o bien se utilizaban técnicas no portables, como los hilos persistentes.

Con Work Graphs, los pipelines complejos que son muy variables en términos de «forma» general ahora pueden ejecutarse eficientemente en la GPU, ya que el programador se encarga de la sincronización y el flujo de datos. Esto es especialmente importante en el caso de las cadenas productor-consumidor, muy comunes en los algoritmos de renderizado. El modelo de programación también se simplifica considerablemente para los desarrolladores, ya que el complejo código de gestión de recursos y barreras se traslada de la aplicación al tiempo de ejecución de Work Graph.

Llevamos años abogando por algo así, y es muy emocionante ver por fin la publicación de Work Graphs”.

Lo que advierten es que la implementación de Work Graphs no será en el corto plazo, por lo que tardaremos algún tiempo para poder verlo implementado en un videojuego. Estamos curiosos por saber cómo esto puede impactar en los juegos y su rendimiento.

Recent Posts

  • Cajas

CHIEFTEC Visio y Visio Air, nueva caja para PC de doble cámara ATX

CHIEFTEC acaba de presentar dos nuevas cajas para PC, Visio y Visio Air con un…

2 horas atrás
  • Reviews

Asus ZenWiFi BT8 Review en Español (Análisis completo)

Asus ZenWiFi BT8 es un sistema Mesh Wi-Fi 7 el cual se sitúa por debajo…

3 horas atrás
  • Portátiles y ordenadores

Snapdragon X: Qualcomm anuncia nuevos modelos de gama baja, apuntan a portátiles de 600 dolares

Qualcomm anuncia nuevos SoC Snapdragon X, pero no se trata de una nueva generación, sino…

3 horas atrás