sábado, 7 de julio de 2018

¿Qué es DirectX? ¿Qué versión usar y cómo se actualiza?


DirectX es la interfaz de programación de aplicaciones (API) de Microsoft. Librerías utilizadas para el desarrollo de aplicaciones multimedia y de vídeo, especialmente videojuegos.

DirectX ha permitido a Microsoft monopolizar el juego en PC al incluirlo en los sistemas operativos Windows y también en su ecosistema Xbox. 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.

Los inicios de 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


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 de DirectX 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 a DirectX


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 Xbox One).

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 ha añadido 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 y conviene seguir Vulkan en el futuro. Aún así, para no engañar a nadie, DirectX siguen siendo imprescindibles para el desarrollo de juego mundial. y no ya por sua características técnicas, sino por el dominio de Microsoft del escritorio informático con Windows.



Saludos.


No hay comentarios :

Publicar un comentario

Por favor, escribe adecuadamente y se respetuoso. Gracias.