martes, 31 de marzo de 2026

Hace años que se habla de DirectX 13 pero este no existe, ¿por qué Microsoft no lo ha lanzado todavía?

DirectX 13 ha sido un rumor recurrente desde hace varios años, pero Microsoft nunca ha lanzado esa versión de su conocido conjunto de APIs, y eso que ha tenido muchas oportunidades para hacerlo desde el lanzamiento de DirectX 12 allá por 2015.

¿Por qué nunca hemos visto ese cambio de versión de DirectX 12 a DirectX 13? Microsoft nunca ha dado una explicación directa y oficial al respecto, pero parece que todo se debe a un cambio de estrategia muy claro que ha llevado a la compañía a pasar a un ciclo de renovaciones modulares, manteniendo a DirectX 12 como la versión central por defecto.

En esa nueva estrategia a Microsoft ya no le importa la numeración. Mantiene los pilares de DirectX 12 como la base del gaming moderno, y sobre esa base va «construyendo» nuevas tecnologías que se incorporan como módulos que traen cambios más o menos marcados.

Si Microsoft quisiera crear algo que realmente se pudiera llamar DirectX 13 tendría que cambiar por completo los pilares de DirectX 12, e introducir un enfoque totalmente nuevo, como hizo en su momento al pasar de DirectX 11 a DirectX 12. Esto sería muy complejo, y nos llevaría a una nueva etapa que resultaría bastante difícil para los jugadores y para los desarrolladores.

Os pongo como ejemplo la transición de DirectX 11 a DirectX 12. Uno de los cambios más importantes que introdujo DirectX 12 se produjo a nivel de drivers, ya que daba más responsabilidades en este sentido a los desarrolladores de los juegos. También opera a un nivel más bajo, y permite un mejor aprovechamiento de procesadores multinúcleo.

Pasar de DirectX 11 a DirectX 12 representó un cambio tan grande que generaciones de tarjetas gráficas que rendían bien con DirectX 11 pasaron a rendir bastante peor con DirectX 12, y a la inversa. Por ejemplo, Las GTX 600 y GTX 700 estaban mejor preparadas para DirectX 11.

¿Lanzará Microsoft alguna vez DirectX 13?

La verdad es que al final estamos hablando de un simple cambio de nombre, y en realidad Microsoft ya presentó en su momento una evolución que podríamos considerar como algo muy parecido a una nueva versión de DirectX.

Me refiero a DirectX 12 Ultimate, una gran revisión del ecosistema de APIs del gigante de Redmond que introdujo DXR para respaldar la creciente adopción del trazado de rayos, y también otras tecnologías como shaders mallados, sombreador de tasa variable y retroalimentación de muestras.

Hace solo unas semanas Microsoft anunció nuevos cambios que llegarán a DirectX para adaptarlo a la era de la IA y del renderizado neural, otra gran actualización que podría haber aprovechado para anunciar a bombo y platillo un cambio de numeración, pero no lo hizo.

Este enfoque indica lo que os he comentado anteriormente, que Microsoft no tiene interés, ni siente la necesidad, de lanzar DirectX 13, pero esto no significa que se haya quedado estancada, nada más lejos de la realidad. DirectX ha recibido tantas novedades y actualizaciones que se mantiene como un conjunto de APIs a la última, lo único es que ya no ha cambiado de numeración.

Saludos. 

martes, 3 de junio de 2025

DirectX recibe dos novedades que mejorarán hasta un 200% el rendimiento de GPUs NVIDIA

El kit de desarrollo Agility de DirectX 12 Ultimate ha incorporado dos nuevas tecnologías que pueden marcar una gran diferencia de rendimiento a favor de las GPUs de NVIDIA, Shader Execution Reordering, también conocida como SER, y Opacity Micromaps, que ya están disponibles en la versión estable de dicho kit.

Estas dos nuevas tecnologías se incorporaron con la arquitectura Ada Lovelace, lo que significa que están presentes a partir de la serie GeForce RTX 40, y realizan funciones muy diferentes que os voy a explicar a continuación para que tengáis claro cómo pueden marcar la diferencia.

Opacity Micro-Maps realiza una determinación precisa del grado de opacidad de los objetos y de los elementos gráficos de una escena, como por ejemplo del humo, la niebla y el agua, y también de la densidad de los mismos. De esta manera se consigue una mayor eficiencia a la hora renderizar esos objetos y elementos, y se mejora el rendimiento hasta en un 230%.

La tecnología Opacity Micro-Maps cuenta aceleración específica en los núcleos RT que incorporan la GeForce RTX 40 y GeForce RTX 50, así que estas dos generaciones gráficas serían las grandes beneficiadas del uso de esta tecnología, que mejoraría el rendimiento en juegos con trazado de rayos.

Shader Execution Reordering trabaja a nivel de shaders realizando una reordenación de los hilos de trabajo en bloques o grupos específicos. Por ejemplo, si hay veinte fragmentos desordenados que corresponden con cinco bloques diferentes los agrupa en bloques ordenados para despacharlos de forma organizada en grupos de cuatro.

Esta tecnología puede mejorar, según NVIDIA, hasta un 25% el rendimiento en renderizado tradicional, y hasta un 200% el rendimiento en trazado de rayos. Las GeForce RXT 40 son compatibles con esta tecnología, y las GeForce RTX 50 recibieron una versión mejorada que es capaz de organizar hilos y de derivarlos al bloque de núcleos que deba despacharlos, diferenciando entre shaders y núcleos tensor.

Hasta un 64,7% más de rendimiento en juegos bajo DirectX con SER y OMM

Las primeras pruebas realizadas con DirectX y estas nuevas funciones son prometedoras. Utilizar Opacity Micro-Maps en una compleja demo técnica con trazado de trayectorias hace que el rendimiento pase de 55 FPS a 90 FPS, lo que significa que está muy cerca de llegar a doblar el rendimiento aplicado solo una de esas dos tecnologías.

Con trazado de rayos activado puede generar hasta 10 rayos por píxel, lo que equivale a 36,9 millones de rayos por fotograma si tenemos una resolución de 2.560 x 1.440 píxeles. Esto supone una carga de trabajo enorme para cualquier GPU, y una tarjeta gráfica tan potente como la GeForce RTX 4090 tarda 16,8 ms en generar un fotograma en esas condiciones sin ningún tipo de optimización.

Si aplicamos Opacity Micro-Maps y Shader Execution Reordering el tiempo de renderizado de cada fotograma se reduce a 10,2 ms, una ganancia del 64,7%. Este juego es tremendamente exigente debido, sobre todo, a su alta carga geométrica. En una única escena este juego puede llegar a mostrar casi 14 millones de triángulos con 5,2 millones de vértices y 2.200 instancias texturizadas.

La integración de ambas tecnologías en el kit de desarrollo de DirectX permitirá a los desarrolladores implementarlas fácilmente en sus juegos, y esto debería traducirse en mejoras notables de rendimiento tanto en juegos actuales que se actualicen para aprovecharlas como en juegos futuros que las integren.

Saludos.

martes, 29 de octubre de 2024

Cómo descargar y actualizar DirectX en tu PC

Las librerías DirectX siguen siendo imprescindibles para jugar en PC. Y no solo por sus características técnicas, sino por el dominio de Microsoft del escritorio informático. Y es que DirectX ha permitido a Microsoft monopolizar el juego en PC al incluirlo en los sistemas operativos Windows y también en su ecosistema Xbox.

Hoy te ponemos al día de lo que significa esta interfaz de programación de aplicaciones (API). Unas Librerías utilizadas para el desarrollo de aplicaciones multimedia y de vídeo, especialmente videojuegos. Aunque  existen otras especificaciones estandarizadas, más abiertas como OpenGL y su prometedora última versión Vulkan, el dominio de Windows en PCs ha convertido a DirectX en referencia para juegos en ordenadores personales, y con ello, en una de las características más evidentes donde Windows supera a otros escritorios informáticos como OS X y Linux.

¿De dónde viene DirectX?

Como recordarán los usuarios más antiguos antes de Windows 95 los juegos en PC eran a menudo un calvario tortuoso que implicaba la utilización del sistema DOS y disquettes de arranque. Con el fin de proporcionar a los juegos acceso directo al hardware del sistema, primero había que arrancar en DOS y utilizar argumentos especiales en los archivos de configuración config.sys y autoexec.bat.

Microsoft rápidamente se dio cuenta que para convertir el sistema operativo Windows popular entre los jugadores tenía que dar a los desarrolladores de juegos una manera para que sus productos tuvieran acceso a los mismos recursos de hardware en Windows, como en DOS.

La primera versión de DirectX fue publicada para Windows 95 y NT 4.0 en junio de 1996. En un primer momento la adopción fue lenta, pero muy pronto DirectX se hizo fuerte. Algunos críticos estiman que otras interfaces como OpenGL son más eficientes en aprovechamiento del hardware, abiertas libres de royalties bajo una API estándar multiplataforma y en esencia, no controladas por Microsoft y sobre todo, limitadas a un único sistema operativo, Windows.

Un debate que daría para mucho pero no toca hoy. La realidad es que la llegada de DirectX cambió para siempre el sector de juegos en PC. Hoy por hoy, con Windows dominando el 90 por ciento de escritorios informáticos y usadas en su consola Xbox One, su importancia está lejos de toda duda.

DirectX 12, última versión

La última versión de estas librerías multimedia fueron estrenadas por Microsoft en 2015 en exclusiva para Windows 10 y Xbox One. Llegó al mercado prometiendo una revolución sobretodo en rendimiento al incluir una optimización específica para aprovechar mejor los recursos reales del sistema, especialmente en CPUs con más de cuatro núcleos de procesamiento y configuraciones multi-GPU.

Su resultado no ha sido el esperado. El apoyo inicial fue mínimo y aunque la situación ha mejorado últimamente las ventajas han ido llegando con cuentagotas. No ya por capacidad técnica, sino por su complejidad para que los desarrolladores extraigan todo su potencial, las mejoras han sido insignificantes (exceptuando juegos concretos). La complejidad ha aumentado en las áreas de gestión de memoria, en multi-GPU y en la tecnología subyacente necesaria para permitir el cálculo asíncrono. En resumen, DirectX 12 tiene mucho potencial sobre el papel, pero -hasta ahora- poco resultado práctico.

¿Que versión estoy usando?

Puedes ver fácilmente la versión que está instalada en tu PC con Windows usando por ejemplo el buscador del sistema o la herramienta «ejecutar» (botón derecho en el menú de inicio o con las teclas de acceso rápido «Windows + R»), escribiendo el comando «dxdiag»:

Accederás a la herramienta de diagnóstico de DirectX. En la pestaña «sistema» verás la versión de DirectX instalada. En la pestaña «pantalla», verás más información, la gráfica que tengas instalada, la última versión del controlador o parámetros de DX que deben estar activados como la aceleración de DirectDraw, Direct3D o la aceleración de texturas. Una nota adicional te informa si hay algún problema con las APIs.

Aunque esa es la última versión instalada y la que utilizará Windows preferentemente en juegos compatibles, no es nada infrecuente que tengas también otras versiones instaladas. La explicación es que cada juego depende de una versión diferente de DirectX. Por ejemplo, si un desarrollador escribió un juego para usar la actualización 40 de DirectX 11, entonces solo funcionará esa versión y no una superior. Por tanto, cada vez que instales un juego nuevo, especialmente más antiguos, es probable que se instale una nueva versión de las APIs. Las librerías se ubican en C:\Windows\System32 o/y en C:\Windows\SysWOW64.

¿Cómo descargo y actualizo DirectX?

Antiguamente, DirectX disponía de su propia descarga e instalación como cualquier ejecutable, pero desde Windows 8, Microsoft ha incluido las APIs como parte del sistema operativo.

  • En Windows 10 funciona de manera exclusiva DirectX 12.  directamente desde Windows Update. «Configuración> Actualización y seguridad> Windows Update > Buscar actualizaciones.
  • Windows 8.1 tiene soporte hasta DirectX 11.2. Como en Windows 10, no hay una descarga regular manual y se actualiza de la misma manera.
  • En Windows 7, la última versión de DirectX soportada es 11.1. Está disponible con Windows 7 Service Pack 1 y específicamente en la actualización Windows Update KB2670838. Se puede actualizar de forma manual o a través de Windows Update.
  • Microsoft también mantiene una página de descargas específica donde se pueden descargar versiones anteriores de las librerías.

Vulkan, la gran alternativa

Vulkan es una plataforma de última generación para desarrollo de videojuegos y en general aplicaciones con gráficos 3D. Similar en objetivos al DirectX de Microsoft (o a otras como el Metal de Apple), proporciona acceso de bajo nivel permitiendo a los programadores exprimir el rendimiento del hardware.

Vulkan es el mayor competidor de DirectX 12 y más allá de sus cualidades técnicas, destaca por su soporte multiplataforma para diversos dispositivos (consolas, ordenadores, tablets, móviles, embebidos…) y plataformas (Linux, Android, OS X, Steam OS o todas las versiones de Windows…), lo que es una gran ventaja frente a las últimas API de Microsoft recordemos exclusivas para Windows 10 (y las consolas Xbox).

Otra de sus ventajas es que se trata de una API licenciada bajo código abierto que se puede añadir a prácticamente cualquier plataforma. Los desarrolladores pueden codificar juegos en Vulkan, siendo fácilmente portables entre diferentes plataformas.

Tanto NVIDIA como AMD e Intel tienen soporte Vulkan en sus controladores gráficos de Windows y Linux. También el Steam OS de Valve dispone de ellos e incluso ha llegado a macOS e iOS a pesar de Apple que por motivos comerciales prefiere impulsar Metal. También importante la apuesta de Samsung por Vulkan como la API gráfica de nueva generación y en general de Google en Android.

A partir de Vulkan 1.1, se añadió el uso del sombreado HLSL de la API de Microsoft y diseños de memoria Direct3D de forma nativa. Este soporte les facilitará mover el código Direct3D existente a Vulkan, ya que ya no necesitan reescribir todos sus programas de sombreado. Para respaldar este soporte, Khronos ha liberado una nueva versión de SPIR-V 1.3 para que los programas escritos para OpenCL, se pueden ejecutar en cualquier GPU que tenga un tiempo de ejecución Vulkan.

Muy interesante este Vulkan. Aún así, para no engañar a nadie, DirectX sigue siendo imprescindible para el desarrollo de juego mundial. Si sus características podrían ser replicadas, el dominio de Microsoft del escritorio informático con Windows es incuestionable.

Saludos.

viernes, 20 de septiembre de 2024

Los Shaders compilados con Vulkan y OpenCL a través de SPIR-V serán soportados por Microsoft en DirectX 12

El equipo de Direct3D y HLSL de Microsoft  ha compartido detalles sobre un cambio importante e increíble que redefinirá la programación de GPU, ya que implica la adopción de Shader Model 7 dentro de DX12 y la integración con SPIR-V, un formato binario intermedio utilizado en API como Vulkan y OpenCL. Una vez lanzado Shader Model 7, DirectX 12 podrá aceptar sombreadores compilados en SPIR-V, un paso que permitirá a los desarrolladores aprovechar tecnologías abiertas y estándares de la industria. ¿Vamos a ser testigos de una nueva era en los videojuegos?

Este anuncio marca un nuevo enfoque en el desarrollo abierto y la colaboración, ya que Microsoft ha estado trabajando junto con el grupo Khronos (responsable de Vulkan y SPIR-V) y el proyecto LLVM. Con este anuncio al comienzo del proceso de desarrollo, que durará varios años, “Microsoft subraya su compromiso con la transparencia y la adopción de herramientas y tecnologías de código abierto”.

DX12 soportará los shaders compilados de OpenCL y Vulkan a través de SPIR-V

A modo introductorio y dando por sabido de sobra qué es DX12, sí que nos pararemos a comentar brevemente qué es SPIR-V para dar contexto. SPIR-V (Standard Portable Intermediate Representation - Vulkan) es un estándar que trajo al mercado Khronos Group y lo que busca es ser intermediario entre los Shaders y los kernels en diferentes plataformas.

Explicado esto, hay que recalcar que el equipo de HLSL está colaborando directamente con Khronos para asegurar que la integración de SPIR-V en Direct3D beneficie a todo el ecosistema gráfico, manteniendo a HLSL como "un lenguaje relevante y eficiente".

La adopción de SPIR-V es una respuesta a las demandas de la industria por estándares unificados y herramientas de desarrollo más versátiles al más "estilo de las CPU". Desde el lanzamiento de Shader Model 6, Direct3D ha experimentado un crecimiento en su adopción, y más con el último hardware y software lanzados, por lo que la comunidad de código abierto ha jugado un papel clave en la expansión de la base de usuarios de HLSL, incluso entre desarrolladores de Vulkan y Metal.

Uno de los aspectos más destacados de este cambio es la participación del equipo de HLSL en los grupos de trabajo de SPIR y Vulkan del Khronos Group. Esta colaboración, indispensable ahora mismo, permitirá una integración más rápida de las características de Vulkan en HLSL, garantizando que este lenguaje continúe siendo una opción competitiva para la programación de Shaders en múltiples plataformas. Léase como "múltiples plataformas" desde consolas portátiles, consolas de sobremesa, PC y portátiles, por ejemplo.

Esta transición también incluye el desarrollo de herramientas que permiten convertir Shaders compilados en SPIR-V a DXIL y viceversa, facilitando la adopción gradual por parte de los desarrolladores de controladores y herramientas.

La transición hacia este “ecosistema gráfico unificado” para Shader Model 7 será gradual

De esta manera, Microsoft busca minimizar el impacto de la transición, asegurando que los flujos de trabajo para desarrolladores de Direct3D se mantengan prácticamente inalterados. Aunque algunos desarrolladores que manipulan Shaders compilados enfrentarán ajustes (veremos cuántos y cuántas quejas hay) se espera que las herramientas disponibles para trabajar con binarios SPIR-V proporcionen ventajas que compensen los costos de adaptación.

El diseño de SPIR-V es altamente extensible, lo que permitirá una innovación más rápida en las características de las API de GPU. Al utilizar un formato común para Shaders compilados, las API gráficas podrán adoptar nuevas características de manera más eficiente, beneficiando a toda la industria. En otras palabras, las mejoras que siempre se avanzan como "rompedoras" llegarán antes al mercado, a los desarrolladores y a DX12.

Microsoft anticipa que esta transición desbloqueará nuevas oportunidades de innovación en Direct3D, permitiendo que las capacidades de hardware de última generación sean accesibles a los desarrolladores de manera más rápida. Esto, en teoría, debería de acortar plazos de entrega y facilitar la labor de dichos desarrolladores y de los estudios de videojuegos.

En definitiva, la adopción de SPIR-V como formato intermedio en Shader Model 7 representa un cambio fundamental en la forma en que Direct3D manejará los Shaders en el futuro. Microsoft y sus socios en la industria esperan que este enfoque unificado en torno a estándares abiertos impulse la productividad y reduzca la duplicación de esfuerzos en el desarrollo de software gráfico.

Para finalizar y punto a tratar aquí es el hardware que soportará Shader Model 7, porque ya sabemos que estas cosas normalmente terminan con una criba de, en este caso, tarjetas gráficas soportadas. Veremos si la transición es común, o si AMD y NVIDIA cortan por lo sano con la excusa de los drivers, de DX12 o del propio Shader Model 7.

Saludos.

jueves, 30 de mayo de 2024

Microsoft DirectSR ya está disponible, API que funciona como un reescalador universal para GPUs

Fue hace unos años cuando NVIDIA decidió cambiar la nomenclatura de sus tarjetas gráficas y pasaron de ser GeForce GTX a GeForce RTX. Este no era solo un cambio de nombre sin más, pues estas GPU utilizaban Tensor Cores y eran capaces de conseguir ejecutar Ray Tracing en tiempo real. Además, con esta arquitectura Turing es cuando vimos la llegada del reescalado por IA denominado DLSS, el cual revolucionó completamente los videojuegos. Podíamos conseguir un mejor rendimiento sin hacer grandes sacrificios en cuanto a calidad y en cuanto vimos su gran utilidad, no tardaron en aparecer alternativas por parte de AMD y hasta de Intel. Ahora es cuando podemos utilizar tanto NVIDIA DLSS, como AMD FSR e Intel XeSS todo en una misma API, ya que Microsoft ha lanzado DirectSR y nos permite elegir entre estas tecnologías, por lo que no importa la GPU que tengamos.

Los videojuegos han ido aumentando sus requisitos en PC con el paso de los años y esto está totalmente relacionado con las consolas. Al final son estas las que dictan como serán los videojuegos, pues casi todos se crean para ser compatibles con estas. Es por ello, que cada vez que sale una nueva generación de consolas, al poco tiempo empezamos a ver juegos exclusivos para estas que acaban llegando a PC. Con unos gráficos mejorados y una pobre optimización, muchos de estos juegos llegan como ports a PC con elevados requisitos.

Microsoft lanza DirectSR, la API que engloba AMD FSR, NVIDIA DLSS e Intel XeSS

Aunque al principio solo existía NVIDIA DLSS como un reescalado exclusivo de la compañía, AMD se apresuró para lanzar FSR, su alternativa libre y gratuita que era compatible tanto con NVIDIA como con AMD. Unos años después de esto, Intel lanzó sus primeras gráficas dedicadas Arc y con ellas estrenó su tecnología de reescalado XeSS. Ahora estas tres tecnologías se encuentran en diversos juegos, algunas veces pudiendo elegir solo entre una o dos opciones y en otras ocasiones, podemos escoger entre las tres.

Microsoft sabe lo importante que es tener acceso a estas tecnologías de reescalado y debido a esto, decidió crear una API denominada DirectSR. Esta incluye tanto DLSS como FSR y XeSS, para que podamos elegir entre estas en la interfaz que ofrece. Ahora Microsoft ha anunciado que por fin DirectSR está disponible y por tanto, podremos utilizar los métodos de reescalado en juegos tengamos una GPU NVIDIA, AMD o Intel. La idea es que los desarrolladores se encarguen de implementar DirectSR en sus juegos y proyectos, logrando una compatibilidad absoluta con los dispositivos que usan Windows.

Tiene soporte integrado de FSR 2.2, mientras que para DLSS y XeSS hay que actualizar drivers de sus respectivas GPU

Como ya dijimos hace unos meses, DirectSR utiliza las versiones actualizadas de las tecnologías de reescalado, excepto la de AMD, pues se basa en FSR 2.2. Es por ello, que ofrece soporte integrado para AMD FidelityFX 2, mientras que si queremos compatibilidad con Intel XeSS y NVIDIA DLSS será tan sencillo como actualizar los drivers. Microsoft ha indicado en su blog que con tener los Drivers 30.0.101.5534 para Intel Arc del 28 de mayo o los controladores 560.38 de NVIDIA, ya es suficiente.

Además de permitir a los usuarios elegir entre estos tres reescaladores, DirectSR no necesita integrar SDK específicos de un proveedor. Esto permite que la integración sea más fácil que nunca. Veremos si en un futuro los desarrolladores hacen uso de esta API para poder aplicarla en los juegos y programas, sabiendo que simplifica el proceso.

Saludos.

viernes, 1 de marzo de 2024

Qué es DirectSR y cómo funcionará en Windows para DLSS, FSR y XeSS

DirectSR es una apuesta inteligente de Microsoft hacia el ecosistema de los juegos dentro de Windows. Había mucha expectación por saber exactamente qué es y cómo funcionará dentro del Sistema Operativo, así que adelantándose a la Conferencia de desarrolladores de este año, los de Redmond han lanzado un artículo breve y peculiar intentando orientar a todos y calmando las aguas. Y es que DirectSR no será como las tecnologías de AMD, NVIDIA e Intel, sino más bien un unificador para Windows con algunas particularidades.

Microsoft se ha unido a las tres grandes con un objetivo simple de comprender y difícil de llevar a cabo: facilitar la vida a los desarrolladores. Windows será el puente común, esta nueva API será el nexo y la mano que agita la varita llegará desde cada uno de los tres implicados, pero entonces, ¿no es una técnica de Super Sampling?

Microsoft DirectSR para Windows, la API que agrupa DLSS, FSR y XeSS

Pues no, no lo es, no es ninguna API o tecnología de reescalado que competirá con las tres nombradas, no tiene nada que ver. Microsoft lo explica así:

Es una nueva API diseñada en asociación con proveedores de hardware GPU para permitir una integración perfecta de Super Resolución (SR) en la próxima generación de juegos. Super Resolución es una técnica de vanguardia que aumenta la resolución y la calidad visual de los juegos. DirectSR es el eslabón perdido que los desarrolladores estaban esperando al abordar la integración de SR, brindando una experiencia más fluida y eficiente que se adapta a todo el hardware.

Esta API permite SR de múltiples proveedores a través de un conjunto común de entradas y salidas, lo que permite que una única ruta de código active una variedad de soluciones, incluidas NVIDIA DLSS Super Resolution, AMD FidelityFX™ Super Resolution e Intel X e SS. DirectSR estará disponible pronto en Agility SDK como una vista previa pública, lo que permitirá a los desarrolladores probarlo y brindar comentarios.

Work Graphs, la API para Shader Model 6.8 que podría dejar a Intel fuera de juego

Y podría hacerlo porque Microsoft no la nombra siquiera. Work Graphs ha sido también mencionada con una API revolucionaria, ya que otorgará a la GPU la capacidad de gestionar el trabajo de forma autónoma como si esta tuviese su propia IA. Los de Redmond dicen lo siguiente:

Work Graphs marca el comienzo de una nueva era de rendimiento y eficiencia. Esta funcionalidad ofrece a los desarrolladores nuevas herramientas para abordar las cargas de trabajo de GPU de maneras revolucionarias, y estamos encantados de tenerla lista. Imagine una GPU gestionando de forma autónoma su propio trabajo impulsada por SM 6.8. En el GDC 2024 haremos unas demostraciones con nuestros socios de AMD y NVIDIA y las verán en acción.

Por tanto, DirectSR será un unificador para las tres tecnologías de manera que el desarrollador tenga una API donde poder trabajar para que su juego active una u otra según necesite el hardware o quiera el usuario. Mientras, Work Graphs parece ser un paso intermedio de un algoritmo de autogestión de la GPU mediante entrenamiento a través de una API y SM 6.8.

Todo esto es tan novedoso que ya hay voces diciendo que podría ser la antesala y base de una supuesta API DirectX 13, la cual, podría estar planteada con IA para Windows 11 y sobre todo, para Windows 12.

Saludos.

lunes, 3 de abril de 2023

Microsoft DX12 lanza GPU Upload Heaps: un nuevo salto de FPS en tu PC

Los juegos han avanzado mucho a lo largo de los años, y en parte es gracias a las nuevas versiones de DirectX. Estas API se emplean en multitud de aplicaciones, pero principalmente las que más uso le dan son los videojuegos. Ha pasado bastante tiempo desde que DirectX 12 se lanzó, pero ahora Microsoft ha anunciado una nueva función que permitirá el acceso simultáneo a la VRAM por parte de la CPU y la GPU, lo que aumentará el rendimiento. Así es GPU Upload Heaps y Non-normalized Sampling.

El hecho de que tengamos los gráficos de los juegos actuales, es debido a varias razones, empezando por la potencia del hardware actual. A día de hoy, tanto las consolas PS5 y Xbox Series X como los PC ofrecen procesadores y tarjetas gráficas mucho más potentes que las que había hace unos años atrás. Cada generación viene acompañada de un salto gráfico o de rendimiento, pero a su vez nada de esto sería posible si la API DirectX no se hubiese actualizado. Fue en 1995 cuando DirectX 1.0 salió, pero los jugadores no empezaron a ver su aplicación habitual en juegos 3D hasta DirectX 8 y más comúnmente la versión 9.0.

Microsoft anuncia dos nuevas funciones para DirectX 12: GPU Upload Heaps y Non-normalized Sampling

Se podría decir que fue a partir de DirectX 9.0 y la llegada masiva de juegos 3D, lo que hizo que esta API se usase en muchísimos títulos. Seguramente recordaréis la típica ventana de actualización de DirectX que aparecía al instalarnos un juego. Desde entonces hemos tenido DirectX 10 en el 2006, DirectX 11 en el 2009 y DirectX 12 llegó con Windows 10 en el 2015. Que su lanzamiento coincidiera con esa versión de Windows no significa que acabase todo ahí y es que, en 2017 se añadió MSAA programable y en 2018 hubo soporte para el conocido Ray Tracing.

Más adelante, en 2019, tuvimos compatibilidad con VRS y en 2020 llegó DirectX 12 Ultimate que englobaba todo esto y aún más mejoras. Puede que esta versión ya tenga sus años, pero Microsoft ahora ha presentado dos nuevas funciones. DirectX traerá "GPU Upload Heaps" y "Non-normalized Sampling", las cuales se han agregado con la última versión del SDK Agility 1.710.0. Esta es una versión para desarrolladores, pero Microsoft ya la ha puesto para descargar desde su web.

La CPU y la GPU podrán acceder a la VRAM y aumentar el rendimiento en juegos

La VRAM de la GPU siempre ha sido inaccesible para la CPU, obligando a los programas y juegos a copiar grandes cantidades de datos en la GPU a través del bus PCI. Hace un tiempo, se implementó Resizable BAR en GPU NVIDIA y AMD, permitiendo que Windows pueda gestionar la memoria VRAM. Con la nueva función de DirectX 12 denominada GPU Upload Heaps, tanto la GPU como la CPU podrán acceder a la VRAM de forma simultánea. Esto elimina la necesidad de copiar datos desde el procesador a la gráfica, acabando con ese cuello de botella y aumentando el rendimiento.

Teniendo en cuenta que los juegos actuales piden cada vez más VRAM de la GPU, podría ser muy beneficiosa su aplicación. Además, Microsoft indica que eliminaría la obligación de mantener los datos duplicados en la RAM como en la VRAM.

La segunda función que añade DirectX 12 se llama Non-normalized Sampling, que según Microsoft permitirá interpretar las coordenadas como absolutas.

Aquí la diferencia es que en lugar de ver las coordenadas de las texturas ocupando un espacio de 0 a 1, se determinará la ubicación absoluta en su lugar. Microsoft no ha dado información sobre cuál será el impacto de esta última, pero ha informado que los drivers de las GPU ya están implementando ambas funciones en sus últimos controladores.

Saludos.