Por que todo jogo de PC instala sua própria cópia do DirectX?
O DirectX faz parte do sistema operacional Windows. Então, por que parece que todo jogo de PC que você instala do Steam, do Origin ou de outros lugares instala sua própria cópia do DirectX??
O que é o DirectX?
O DirectX faz parte do Microsoft Windows. É um grupo de APIs (interfaces de programação de aplicativos) que os desenvolvedores podem usar para recursos gráficos 3D, vídeo, multimídia, som e gamepad no Windows. Muitos jogos no Windows usam Direct3D do DirectX para gráficos. Caso contrário, eles usam as APIs OpenGL ou Vulkan de plataforma cruzada. Outros aplicativos que não são jogos podem usar o DirectX para recursos como gráficos 3D.
O Windows 7 inclui o DirectX 11 e o Windows 10 inclui o DirectX 12. Quando os desenvolvedores estão desenvolvendo jogos, eles escolhem as versões do DirectX que desejam segmentar. Por exemplo, um jogo escrito apenas para o DirectX 11 não rodaria no Windows XP, onde a última versão disponível é o DirectX 9..
Você pode verificar a versão do DirectX disponível em seu sistema clicando no botão Iniciar, digitando “dxdiag” na caixa de pesquisa e pressionando Enter. Quando a janela da Ferramenta de diagnóstico do DirectX aparecer, você verá o número da versão à direita da “Versão do DirectX” em “Informações do sistema”..
Se estiver incluído no Windows, por que os jogos estão sendo instalados??
Então, se o DirectX é uma parte do Windows, por que os jogos sequer o instalam em primeiro lugar? A resposta curta é que a instalação do DirectX é uma bagunça.
Não há apenas um único jogo de biblioteca do DirectX Direct3D, ou mesmo apenas um punhado. Os desenvolvedores de jogos precisam direcionar uma versão exata da biblioteca auxiliar do Direct3D. Uma versão mais recente da biblioteca não pode ser usada. Por exemplo, se um desenvolvedor de jogos tiver segmentado seu jogo no d3ddx10_40.dll, o jogo não poderá usar d3ddx10_41.dll. Precisa da versão 40, e somente esse arquivo fará.
Você encontrará esses arquivos na pasta C: \ Windows \ System32 em seu sistema. Em um sistema de 64 bits, as bibliotecas de 64 bits estão localizadas em C: \ Windows \ System32 e as bibliotecas de 32 bits estão localizadas em C: \ Windows \ SysWOW64.
Mesmo que você tenha executado o instalador mais recente do DirectX, não há garantia de que ele instalará todas as versões secundárias antigas das bibliotecas do DirectX em seu sistema. A Microsoft também optou por não agrupar esses arquivos de biblioteca do Direct3D com o próprio Windows. Mesmo as bibliotecas do Direct3D criadas antes do lançamento do Windows 10, por exemplo, não estão todas incluídas no Windows 10. Elas precisam ser instaladas por um aplicativo que precise delas. Como a Microsoft observa na documentação destinada aos desenvolvedores de jogos, “o Windows Update e os Service Packs não fornecem nenhum dos componentes opcionais do DirectX”.
Até fica mais complicado que isso. Os jogos de 32 bits precisam das versões de 32 bits do arquivo da biblioteca, e os jogos de 64 bits precisam da biblioteca de 64 bits.
Isso é semelhante à situação com as bibliotecas Microsoft Visual C ++ Redistributable. Aplicativos diferentes dependem de versões diferentes das bibliotecas e você precisa ter muitas versões diferentes instaladas. Há uma boa chance de você ter muitos daqueles instalados em seu sistema, também.
Mas por que todo jogo de PC precisa reinstalá-lo??
Ok, então todo jogo tem que instalar a versão secundária exata das bibliotecas do DirectX que ele requer. Mas, se você já instalou uma versão específica de uma biblioteca do DirectX uma vez, certamente o jogo não precisa executar o instalador do DirectX - correto?
Errado. Não há como os jogos verificarem facilmente se as bibliotecas corretas do DirectX de que precisam estão instaladas. Como observa o site de suporte da Steam, o instalador do Microsoft DirectX é a única maneira oficialmente suportada de verificar se os arquivos do DirectX corretos estão atualmente instalados. Os jogos executam o instalador do DirectX, geralmente em segundo plano, que instala as bibliotecas necessárias e repara quaisquer problemas no sistema.
O instalador do DirectX também é a única maneira pela qual a Microsoft permite que os desenvolvedores distribuam esses arquivos. Os desenvolvedores não podem tentar ser espertos, largando diretamente as bibliotecas do DirectX em seu sistema e pular o instalador, ou eles estariam quebrando a licença de software da MIcrosoft. Eles também provavelmente se deparam com vários bugs, mesmo se tentassem isso. É por isso que ninguém faz.
É claro que nem todos os jogos precisam executar o instalador do DirectX quando você os lança pela primeira vez. Os jogos que usam o OpenGL ou o Vulkan, em vez do Direct3D do DirectX, não precisarão executá-lo. Alguns jogos também dependem apenas das principais versões do DirectX, como o DirectX 11, 10 ou 9, e não precisam chamar o instalador do DirectX porque não usam nenhuma dessas bibliotecas auxiliares..
Posso remover algumas dessas bibliotecas?
Você não deve remover nenhuma das bibliotecas do DirectX na sua pasta System32 ou SysWOW64. Se eles estão presentes no seu sistema, é porque um jogo ou outro aplicativo que você instalou precisava deles. Se você começar a remover arquivos de biblioteca, os aplicativos podem quebrar. Não há como saber realmente quais arquivos de biblioteca do DirectX são exigidos pelos jogos em seu sistema, portanto não há como saber quais são seguros para remover.
Deixe-os em paz! Há uma razão pela qual não há nenhuma maneira oficialmente suportada de desinstalar esses arquivos de biblioteca. Eles não causarão nenhum problema em seu sistema e serão usados apenas por aplicativos que os exijam.
Se você está realmente desesperado para limpar essas bibliotecas antigas, é melhor reinstalar o Windows para obter um novo sistema, em vez de excluir aleatoriamente os arquivos da biblioteca. Mas eles vão começar a reaparecer aqui depois de instalar os jogos, de qualquer maneira. Não se preocupe com isso.
O que posso fazer se estiver com problemas no DirectX??
Se você vir uma mensagem de erro relacionada ao DirectX ao tentar executar ou instalar um jogo, é possível que o instalador do jogo não esteja executando o instalador redistribuível do DirectX incluído corretamente. Você não pode simplesmente baixar um instalador do DirectX do site da Microsoft, no entanto, você precisa executar o instalador que o jogo requer.
Você pode entrar na pasta do jogo em seu sistema ou no disco de instalação do jogo, localizar o arquivo .exe do instalador do DIrectX e executá-lo para corrigir o problema. Este arquivo é geralmente chamado DXSETUP.exe.
Geralmente, você pode obter mais informações sobre como corrigir o problema executando uma pesquisa na Web para obter o nome do jogo ou aplicativo e a mensagem de erro específica do DirectX que você está vendo.