Suporte Steam
É efetuada a instalação do DirectX sempre que inicio um jogo
Porque é que o DirectX é instalado sempre que inicio um jogo?

Porque é que o DirectX é instalado sempre que inicio um jogo?

A Microsoft tem uma "biblioteca auxiliar" de D3D chamada D3DX. Pode encontrar ficheiros binários relacionados com isto na pasta Windows\System32, como o d3dx9_43.dll. Existem mais de 40 versões diferentes da biblioteca D3DX só para o D3D9 e muitas mais para o D3D10/11. Cada jogo que utiliza a biblioteca auxiliar D3DX está associado a uma versão específica. Assim, o jogo tem de executar a versão correta do instalador do D3D usada na sua compilação para garantir que os ficheiros devidos existam.

Mesmo se uma versão mais recente do ficheiro binário estiver instalada, essa versão não pode ser utilizada, e mesmo que a sua instalação do DirectX seja a mais recente, isso não garante que tenha instalado todas as versões anteriores. Além disso, se uma versão para x86 foi instalada, isso não garante que a versão para x64 tenha sido instalada, portanto jogos de 64 e 32 bits podem precisar de executar exatamente o mesmo instalador, mas com plataformas diferentes como alvo.

Para mais, os termos de licenciamento da Microsoft impedem que seja possível distribuir os ficheiros diretamente, fazendo com que a única maneira de os distribuir seja executando o instalador, que também é o único método suportado pela Microsoft para verificar se a versão correta está instalada. Tentar verificar manualmente as versões é demasiado complicado, pois existem bastantes ficheiros que têm de estar presentes e opções de configuração de sistema individuais, como caminhos de ficheiros DLL complicam a situação. Para além do mais, as dependências e verificações necessárias podem mudar com cada versão nova do runtime D3DX. O código para verificar corretamente e reparar instalações danificadas existe no instalador. Executá-lo garante que os ficheiros necessários existam quando abrir o jogo e impede muitos casos em que um jogo não iria iniciar, com um erro estranho, se uma instalação não tivesse a versão correta ou se tivesse sido corrompida anteriormente.


Porque é que os jogos com o motor Source da Valve não executam o instalador do DirectX?

Jogos que não usam os auxiliares do D3DX (como jogos que usam Source) não precisam desse instalador na primeira inicialização, porque só precisam da instalação de versões principais do D3D9/10/11. Porém, jogos que requerem o D3DX têm de o executar, pois é a única maneira permitida pela Microsoft para distribuir e verificar a informação da versão nos ficheiros.


Precisas de ajuda com o Steam?
Usa o assistente de ajuda do Steam para determinar o teu problema e obteres a ajuda que precisas.
Ajuda da Comunidade
Escreve ou procura nas Discussões Steam por uma resposta à tua pergunta.