¿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 instales desde Steam, Origin u otro lugar instala su propia copia de DirectX??
¿Qué es DirectX??
DirectX es parte de Microsoft Windows. Es un grupo de API (interfaces de programación de aplicaciones) que los desarrolladores pueden utilizar para gráficos 3D, video, multimedia, sonido y funciones de gamepad en Windows. Muchos juegos en Windows usan DirectXD de DirectX para gráficos. Si no lo hacen, utilizan en su lugar las API de VPLK y OpenGL multiplataforma. Otras aplicaciones que no son juegos pueden usar DirectX para características como gráficos 3D.
Windows 7 incluye DirectX 11, y Windows 10 incluye DirectX 12. Cuando los desarrolladores están desarrollando juegos, eligen las versiones de DirectX a las que desean dirigirse. Por ejemplo, un juego escrito solo para DirectX 11 no se ejecutarí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é los juegos lo están instalando??
Entonces, si DirectX es parte de Windows, ¿por qué los juegos incluso lo instalan en primer lugar? La respuesta corta es que la instalación de DirectX es un desastre..
No existe un solo juego de DirectX Direct3D en la biblioteca, ni siquiera unos pocos. Los desarrolladores de juegos tienen que apuntar a una versión exacta de la biblioteca de ayuda Direct3D. No se puede utilizar una versión más reciente de la biblioteca. Por ejemplo, si un desarrollador de juegos apunta su juego a d3ddx10_40.dll, el juego no puede usar d3ddx10_41.dll. Necesita la versión 40, y solo ese 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 se encuentran en C: \ Windows \ System32 y las bibliotecas de 32 bits se encuentran en C: \ Windows \ SysWOW64.
Incluso si ha ejecutado el último instalador de DirectX, no hay garantía de que instalará todas las versiones secundarias antiguas de las bibliotecas de DirectX en su sistema. Microsoft también ha optado por no agrupar estos archivos de la biblioteca Direct3D con el propio Windows, tampoco. Incluso las bibliotecas Direct3D creadas antes de que se lanzara Windows 10, por ejemplo, no están todas incluidas con Windows 10. Tienen que ser instaladas por una aplicación que las necesite. Como señala Microsoft en la documentación destinada a los desarrolladores de juegos, "Windows Update y Service Packs no proporcionan ninguno de los componentes opcionales de DirectX".
Incluso se vuelve 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 es necesario tener muchas versiones diferentes instaladas. Es muy probable que también tengas muchos de esos instalados en tu sistema.
Pero ¿por qué cada juego de PC tiene que volver a instalarlo?
Bien, entonces cada juego tiene que instalar la versión menor exacta de las bibliotecas de DirectX que requiere. Pero, si ya has instalado esa versión específica de una biblioteca de DirectX una vez, seguramente el juego no necesita ejecutar el instalador de DirectX.?
Incorrecto. No hay forma de que los juegos comprueben fácilmente si están instaladas las bibliotecas de DirectX correctas que necesitan. Como las notas del sitio de soporte de Steam, el instalador de DirectX de Microsoft es la única forma oficialmente compatible de verificar si los archivos de DirectX correctos están actualmente instalados. Los juegos ejecutan el instalador de DirectX, a menudo en segundo plano, que instala las bibliotecas necesarias y repara 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 tratar de ser inteligentes al eliminar directamente las bibliotecas de DirectX en su sistema y omitir el instalador, o estarían infringiendo la licencia de software de MIcrosoft. También es probable que se encontraran con varios errores, incluso si intentaran esto. Por eso nadie lo hace..
Por supuesto, no todos los juegos tienen que ejecutar el instalador de DirectX cuando los inicias por primera vez. Los juegos que utilizan 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 auxiliares.
¿Puedo eliminar algunas de estas bibliotecas??
No debe eliminar ninguna de las bibliotecas de DirectX en 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 comienzas a eliminar archivos de la biblioteca, las aplicaciones podrían fallar. No hay forma de saber realmente qué archivos de la biblioteca de DirectX se requieren para qué juegos en su sistema, por lo que no hay manera de saber cuáles son seguros para eliminar.
¡Déjalos en paz! Hay una razón por la que no hay una forma oficial para desinstalar estos archivos de biblioteca. No causarán ningún problema en su sistema y solo serán utilizados por las aplicaciones que los requieran.
Si está realmente desesperado por limpiar estas bibliotecas antiguas, es mejor que vuelva a instalar Windows para obtener un sistema nuevo en lugar de eliminar aleatoriamente los archivos de la biblioteca. Pero comenzarán a reaparecer aquí después de instalar los juegos, de todos modos. No te preocupes por eso.
¿Qué puedo hacer si tengo problemas con DirectX??
Si ves un mensaje de error relacionado con DirectX al intentar ejecutar o instalar un juego, es posible que el instalador del juego no esté ejecutando su instalador redistribuible de DirectX incluido correctamente. No puedes simplemente descargar un instalador de DirectX desde el sitio web de Microsoft, sin embargo, debes ejecutar el instalador que el juego requiere..
Es posible que pueda acceder a la carpeta del juego en su sistema o en el disco de instalación del juego, localizar el archivo .exe del instalador de DIrectX y ejecutarlo para solucionar el problema. Este archivo generalmente se llama DXSETUP.exe.
Por lo general, puede obtener más información acerca de cómo solucionar el problema realizando una búsqueda en la web para el nombre del juego o la aplicación y el mensaje de error específico de DirectX que está viendo..