Conecta con nosotros

Noticias

DirectX 12 Agility mejora el rendimiento de la API con dos funciones muy interesantes

Publicado

el

DirectX 12 Agility

Microsoft ha publicado un nuevo kit de desarrollo DirectX 12 Agility, para incluir nuevas funciones que en manos de los programadores deben ser clave para mejorar el rendimiento en videojuegos.

Ya sabes que DX 12 es la última versión de la interfaz de programación de aplicaciones (API) de Microsoft. Son librerías utilizadas para la creación de aplicaciones multimedia y de vídeo, especialmente videojuegos, y aunque existen otros estándares para desarrollo (como OpenGL y su prometedora versión Vulkan) DX es usada masivamente por la industria y es una de las claves para que Windows mantenga su inmensa cuota de mercado en escritorios informáticos. De ahí que cada novedad que proporcione resulte de interés general.

DirectX 12 Agility 1.710.0

La nueva versión de este kit de desarrollo para las librerías estrena dos funciones llamadas GPU Upload Heaps y Non-normalized Sampling. Están destinadas a los programadores, pero deben permitir mejorar el rendimiento de los juegos a nivel del cliente final al aprovechar mejor los recursos de hardware de los PCs.

Especialmente importante es la primera función para que la CPU y la GPU accedan a la VRAM (la memoria gráfica) simultáneamente. Hay que explicar que históricamente un procesador no tenía acceso a la memoria gráfica de una dedicada, lo que obligaba a los programas a tener que copiar grandes cantidades de datos a la GPU a través del bus PCI.

DirectX 12 Agility

La mayoría de las GPU modernas han introducido el registro de dirección base (BAR) de tamaño variable de VRAM que permite a Windows administrar la GPU VRAM con los controladores WDDM 2.0 o posteriores. La última versión del SDK DirectX 12 Agility permitirá que la CPU tenga acceso a la memoria gráfica al mismo tiempo que lo hace la propia tarjeta gráfica eliminando la necesidad de copiar datos de la CPU a la GPU.

Dice Microsoft que esta optimización «podría ofrecer muchos beneficios en e rendimiento de los juegos de computadora», en un contexto en que los videojuegos son unos enormes tragones de memoria a medida que aumentan su sofisticación y complejidad visual, y la VRAM es clave en su funcionamiento.

Un grupo de memoria compartido entre la CPU y la GPU eliminará la necesidad de duplicar los datos y reducirá el flujo de los datos que hay que trasladar bajo la interfaz PCI-Express y debería liberar también a la memoria RAM que usaba la CPU en este tipo de tareas. La velocidad de la memoria no debería ser un problema teniendo en cuenta que la dedicada que incluye una tarjeta gráfica moderna es una GDDR6 muy rápida. De hecho, probablemente habrá una mejora en la latencia y tiempos de acceso.

Microsoft ya ha entregado la nueva versión del SDK a los desarrolladores y debería ser cuestión de tiempo que los juegos aprovechen este tipo de optimizaciones. Los tres grandes proveedores de tarjetas gráficas también la soportarán. NVIDIA ya la ha incluido en sus controladores Game Ready y Studio (versión 531.41 o más reciente), lo mismo que Intel para sus series A y Xe (con controlador 31.0.101.4255 o más reciente). Las Radeon de AMD la soportarán en breve plazo y el cliente final solo tendrá que actualizar los drivers.

Es difícil cuantificar la mejora de rendimiento que podrá conseguirse con esta función y va a depender mucho de cada juego y de la capacidad de los desarrolladores para sacarle partido. En todo caso, prometedor sobre el papel.

Lo más leído