¿Por qué cada juego de PC instala su propia copia de DirectX?

¿Por qué cada juego de PC instala su propia copia de DirectX?

DirectX es parte del sistema operativo Windows. Entonces, ¿por qué parece que cada juego de PC que instalas desde Steam, Origin o cualquier otro lugar instala su propia copia de DirectX?

¿Qué es DirectX?

DirectX es parte de Microsoft Windows. Este es un grupo de API (interfaces de programación de aplicaciones) que los desarrolladores pueden usar para gráficos 3D, video, multimedia, audio y funcionalidad de control de juegos en Windows. Muchos juegos en Windows usan Direct3D de DirectX para gráficos. Si no lo hacen, utilizan las API multiplataforma de OpenGL o Vulkan. Otras aplicaciones que no son de juegos pueden usar DirectX para funciones como gráficos 3D.

Windows 7 incluye DirectX 11 y Windows 10 incluye DirectX 12. Cuando los desarrolladores desarrollan juegos, eligen a qué versiones de DirectX quieren apuntar. Por ejemplo, un juego escrito solo para DirectX 11 no funcionaría en Windows XP, donde la última versión disponible es DirectX 9.

Puede verificar la versión de DirectX disponible en su sistema haciendo clic en el botón Inicio, escribiendo «dxdiag» en el cuadro de búsqueda y presionando Enter. Cuando aparezca la ventana de la herramienta de diagnóstico de DirectX, verá que el número de versión aparece a la derecha de «Versión de DirectX» en «Información del sistema».

Si está incluido con Windows, ¿por qué lo instalan los juegos?

Entonces, si DirectX es parte de Windows, ¿por qué los juegos lo instalan en primer lugar? La respuesta corta es que instalar DirectX es un desastre.

No hay una sola biblioteca de DirectX de la que dependan los juegos de Direct3D, ni siquiera un puñado. Los desarrolladores de juegos deben apuntar a una versión exacta de la biblioteca auxiliar de Direct3D. No se puede utilizar una versión más reciente de la biblioteca. Por ejemplo, si un desarrollador de juegos ha dirigido su juego a d3ddx10_40.dll, el juego no puede usar d3ddx10_41.dll. Necesita la versión 40, y solo este archivo servirá.

Encontrará estos archivos en la carpeta C: Windows System32 de su sistema. En un sistema de 64 bits, las bibliotecas de 64 bits están en C: Windows System32 y las bibliotecas de 32 bits están en C: Windows SysWOW64.

Incluso si ha ejecutado el último instalador de DirectX, no hay garantía de que instale todas las versiones menores anteriores de las bibliotecas de DirectX en su sistema. Microsoft también optó por no agrupar estos archivos de biblioteca de Direct3D con Windows. Incluso las bibliotecas Direct3D creadas antes del lanzamiento de Windows 10, por ejemplo, no están todas incluidas con Windows 10. Deben ser instaladas por una aplicación que las necesite. Como Microsoft Observaciones en la documentación para desarrolladores de juegos, «Windows Update y Service Packs no proporcionan ninguno de los componentes opcionales de DirectX».

Se vuelve aún más complicado que eso. Los juegos de 32 bits necesitan las versiones de 32 bits del archivo de la biblioteca y los juegos de 64 bits necesitan la biblioteca de 64 bits.

Esto es similar a la situación con las bibliotecas redistribuibles de Microsoft Visual C ++. Las diferentes aplicaciones dependen de las diferentes versiones de las bibliotecas y debe tener muchas versiones diferentes instaladas. Existe una buena posibilidad de que muchos de estos también se instalen en su sistema.

Pero, ¿por qué todos los juegos de PC tienen que reinstalarlo?

Bien, entonces cada juego debería instalar la versión menor exacta de las bibliotecas de DirectX que necesita. Pero, si ya instaló esa versión específica de una biblioteca de DirectX una vez, seguramente el juego no necesita ejecutar el instalador de DirectX, ¿verdad?

Incorrecto. No hay forma de que los juegos comprueben fácilmente si están instaladas las bibliotecas DirectX correctas que necesitan. Como sitio de soporte de Steam Observaciones, El instalador de DirectX de Microsoft es la única forma oficialmente compatible de verificar si los archivos DirectX correctos están instalados actualmente. Los juegos ejecutan el instalador de DirectX, a menudo en segundo plano, que instala todas las bibliotecas necesarias y soluciona cualquier problema en el sistema.

El instalador de DirectX también es la única forma en que Microsoft permite a los desarrolladores distribuir estos archivos. Los desarrolladores no pueden intentar ser inteligentes colocando bibliotecas DirectX directamente en su sistema y omitiendo el instalador, o violarán la licencia de software de MIcrosoft. También es probable que se hayan encontrado con varios errores, incluso si lo hubieran intentado. Por eso nadie lo hace.

Por supuesto, no todos los juegos necesitan ejecutar el instalador de DirectX cuando los inicias por primera vez. Los juegos que usan OpenGL o Vulkan en lugar de Direct3D de DirectX no necesitarán ejecutarlo. Algunos juegos también dependen solo de las versiones principales de DirectX como DirectX 11, 10 o 9 y no necesitan llamar al instalador de DirectX porque no usan ninguna de estas bibliotecas de ayuda.

¿Puedo eliminar algunas de estas bibliotecas?

No debe eliminar ninguna de las bibliotecas de DirectX de su carpeta System32 o SysWOW64. Si están presentes en su sistema, es porque un juego u otra aplicación que instaló los necesitaba. Si comienza a eliminar archivos de la biblioteca, las aplicaciones pueden fallar. No hay forma de saber realmente qué archivos de la biblioteca de DirectX son necesarios para qué juegos en su sistema, por lo que no hay forma de saber cuáles se pueden eliminar de forma segura.

¡Déjalos en paz! Existe una razón por la que no existe una forma oficialmente compatible de desinstalar estos archivos de biblioteca. No causarán ningún problema en su sistema y solo serán utilizados por las aplicaciones que los necesiten.

Si está realmente desesperado por limpiar esas bibliotecas antiguas, es mejor que reinstale Windows para obtener un nuevo sistema en lugar de eliminar archivos de la biblioteca al azar. Pero comenzarán a reaparecer aquí después de que se instalen los juegos, de todos modos. No te preocupes.

¿Qué puedo hacer si tengo problemas con DirectX?

Si ves un mensaje de error relacionado con DirectX cuando intentas ejecutar o instalar un juego, es posible que el instalador del juego no esté ejecutando correctamente el instalador redistribuible de DirectX incluido. Sin embargo, no puede simplemente descargar un instalador de DirectX desde el sitio web de Microsoft, debe ejecutar el instalador requerido por el juego en sí.

Es posible que pueda navegar hasta la carpeta del juego en su sistema o el disco de instalación del juego, localizar el archivo .exe del instalador DIrectX y ejecutarlo para resolver el problema. Este archivo suele denominarse DXSETUP.exe.

Por lo general, puede obtener más información sobre cómo resolver el problema buscando en la web el nombre del juego o la aplicación y el mensaje de error específico de DirectX que está viendo.

Experto Geek - Tu Guía en Tendencias Tecnológicas