Originalmente criado para Linux, o DXVK também pode ajudá-lo a "consertar" jogos antigos no Windows e aumentar seu desempenho. Aqui está o porquê e como.

O Direct3D faz parte dos jogos do Windows há décadas, unificando o cenário de hardware de PC segmentado sob um guarda-chuva habilitado para 3D. No entanto, um aplicativo criado principalmente para Linux, o DXVK, às vezes é uma opção muito melhor de usar, mesmo se você estiver no Windows.

Você gostaria de melhor compatibilidade e, mais importante, desempenho para seus aplicativos e jogos? Então você precisa experimentar o DXVK.

O problema com o DirectX no Windows

A Microsoft criou o DirectX como uma "solução unificada" que ajudava os programadores a usar os recursos de hardware de qualquer PC. Em vez de escrever um código diferente para cada parte do hardware, os desenvolvedores de software poderiam "visar" as bibliotecas DirectDraw (gráficos 2D) do DirectX, Direct3D (3D acelerado por hardware) e DirectSound (áudio). Em seguida, deixe a solução da Microsoft "traduzir" seu código para "o idioma nativo" de cada parte do hardware.

instagram viewer

O DirectX tornou-se uma tecnologia central insubstituível no Windows e vem evoluindo desde então. No entanto, há um pequeno problema com Direct3D: não é 100% compatível com versões anteriores.

A Microsoft e os criadores de GPUs que suportam a API Direct3D (como em "Nvidia, AMD e Intel"), têm ocasionalmente abandonou o suporte para recursos introduzidos em versões anteriores do Direct3D, mas que nunca ganharam tração. Assim, alguns jogos mais antigos podem não funcionar corretamente em uma GPU moderna com as versões mais recentes do Direct3D.

O que é Vulkan?

Supostamente uma resposta mais "aberta" ao Direct3D de código fechado da Microsoft, o OpenGL era uma versão modificada das bibliotecas gráficas 3D usadas nas estações de trabalho gráficas da Silicon Graphics.

O OpenGL, no entanto, sempre ficou para trás, em termos de recursos, em comparação com o Direct3D da Microsoft. Eventualmente, parecia mais racional reiniciar o esforço. É por isso que o Vulkan, também conhecido como "OpenGL Next", foi criado, oferecendo melhor desempenho e maior controle sobre o hardware.

Assim como o OpenGL, e ao contrário do Direct3D vinculado ao Windows da Microsoft, o Vulkan é "aberto" e multiplataforma. Você pode usar Vulkan no Windows, Linux e até smartphones. Embora não tenha suporte nativo em Macs, pode ser usado por meio do MoltenVK.

Essa foi a versão curta. Para saber mais sobre o Vulkan, consulte nosso artigo sobre quais são as bibliotecas de tempo de execução do Vulkan no Windows.

O que é DXVK?

DXVK é um wrapper, "traduzindo" Direct3D para Vulkan. No mundo humano, um tradutor pode ser um mediador entre um falante de inglês e um de japonês, permitindo que eles se entendam. Da mesma forma, "wrappers" ou "camadas de tradução" podem "pegar" o código escrito para uma peça específica de hardware, plataforma ou API e traduzi-lo para execução em outro.

DXVK foi originalmente desenvolvido para Linux com suporte da Valve, que também o utiliza no SteamOS e no Steam Deck. Você pode aprender mais sobre isso em nosso artigo onde vimos o que é o Steam Proton e como ele roda jogos do Windows no Steam Deck.

Por que você deve usar o DXVK no Windows?

Se um jogo já roda bem no seu hardware, não há razão para usar o DXVK. Mas alguns jogos escritos para versões mais antigas do DirectX não funcionam "corretamente" (se é que funcionam) em versões mais recentes do DirectX e hardware moderno.

Ao "traduzir" o código Direct3D antigo e cheio de bugs para a API Vulkan mais moderna, há um impacto mínimo no desempenho (se houver). Ao mesmo tempo, jogos problemáticos com gráficos quebrados ou recursos ausentes podem se tornar totalmente jogáveis ​​novamente.

Como o Vulkan está no mesmo nível do Direct3D 12, e ambos são muito melhores (e mais rápidos) do que as versões mais antigas do Direct3D (como vimos quando comparamos DirectX 11 VS DirectX 12), "traduzir" jogos Direct3D antigos para Vulkan às vezes pode melhorar o desempenho do jogo.

O trabalho da Intel em suas GPUs Arc é prova disso. A Intel poderia tentar adicionar suporte para todos os títulos mais antigos nos drivers Arc GPU. Em vez disso, a Intel decidiu trabalhar para melhorar ainda mais o DXVK. Os resultados iniciais do "experimento" da Intel levam a um aumento de 2x no desempenho de títulos mais antigos, com dezenas reproduzidos "através" do DXVK.

Como usar o DXVK no Windows

Usar o DXVK no Windows é fácil, pois não há nada para ajustar ou configurar. Você só precisa baixá-lo, extraí-lo na pasta correta do jogo e está pronto para usar.

No entanto, você deve usar a versão DXVK correta que corresponda à versão Direct3D usada pelo seu jogo.

Provavelmente será mais fácil se passarmos por todo o processo juntos para ver como você pode baixar a versão mais recente do DXVK, identificar a "tecnologia" do seu jogo e instalar as DLLs corretas na pasta apropriada.

Como baixar DXVK

O DXVK é um software de código aberto e de uso gratuito. Você pode encontrar sua versão mais recente no GitHub.

  1. Visite o DXVK's página oficial do GitHub e clique no Mais recente link da versão à direita da página, em Lançamentos.
  2. Role para baixo na página de lançamentos e encontre o Ativos seção da versão mais recente. Clique no arquivo DXVK tar.gz mais recente para baixá-lo. No momento da redação, era a versão 2.2.
  3. Armazene o arquivo baixado em algum lugar, pois você precisará extrair seu conteúdo para a pasta de cada jogo que deseja executar com DXVK em vez de Direct3D.

Como escolher a versão DXVK correta

Se você precisa saber qual versão do Direct3D seu jogo está usando, o site PC Gaming Wiki pode ajudar.

  1. Visita Wiki de jogos para PC com seu navegador e use o campo de pesquisa no canto superior direito para procurar o jogo ao qual deseja adicionar o DXVK.
  2. Ao encontrar seu jogo, visite sua página e role para baixo para chegar ao Outra informação seção. Volte sua atenção para as tabelas API. Lá, no Especificações técnicas e Suportado colunas, você verá a versão do Direct3D que seu jogo está usando. Por baixo, o Executável, 32 bits, e 64 bits colunas irão "dizer" qual arquitetura você deve escolher.

Como adicionar DXVK aos seus jogos

Agora que você sabe qual versão do Direct3D e arquitetura de CPU seu jogo usa, você pode adicionar a versão correta do DXVK à sua pasta.

  1. Abra o arquivo DXVK com seu gerenciador de arquivos favorito (para este artigo, estamos usando o WinRAR) e entre na única pasta DXVK que você verá lá.
  2. Dentro, você encontrará duas subpastas, uma para cada arquitetura de computador. Digite o correto para o seu jogo. Mesmo que seu sistema operacional seja de 64 bits, como a maioria das versões do Windows hoje, se o seu jogo for de 32 bits, você deve ir para a pasta de 32 bits.
  3. Selecione os DXGI.DLL mais a DLL correta para a versão do Direct3D seu jogo está usando. Como você verá, existem mais três DLLs, uma para cada uma das versões anteriores do Direct3D: 9, 10 e 11.
  4. Encontre a pasta local onde seu jogo está instalado e localize a subpasta com seu executável ("o arquivo do qual o jogo é executado"). Extraia as DLLs da etapa anterior para esta pasta.

Como testar e comparar seu jogo aprimorado

Se você executar seu jogo agora, ele deve usar o Vulkan em vez do Direct3D e, com sorte, terá um desempenho melhor.

Mesmo que você não veja nenhuma mudança drástica nas taxas de quadros, às vezes as melhorias podem ser "sentidas" de outras maneiras. Por exemplo, tentamos o DXVK com o clássico Batman: Arkham City em um PC equipado com um Ryzen 5900x, 64 GB de RAM e uma GPU Nvidia RTX 3070. Nosso hardware já superava as especificações desse jogo antigo, alcançando taxas de quadros muito altas. Mesmo que aumentassem com Vulkan, a diferença não seria facilmente perceptível.

No entanto, a ação do jogo parecia mais suave. As transições entre as telas, os níveis de carregamento e o pressionamento de Alt + Tab foram quase instantâneos com o DXVK.

Quando você não deve usar o DXVK

O DXVK tem muitos benefícios e pode trazer o desempenho de jogos mais antigos para a era moderna. Apesar disso, não é uma bala de prata para melhorar o desempenho e, às vezes, simplesmente não vale a pena usá-lo.

1. DXVK não melhora o desempenho do jogo

Se você adicionou as DLLs DXVK ao seu jogo, mas não notou nenhuma diferença depois, pode removê-las novamente, se desejar. Você pode excluir as DLLs que adicionou à pasta de um jogo para fazer isso.

2. DXVK causa pior desempenho ou apresenta novas falhas

Às vezes, adicionar DXVK a um jogo pode ter o efeito oposto. Infelizmente, não há como um usuário final corrigir esses problemas.

O tanque de desempenho de um jogo ou falhas visuais apareceram depois de adicionar DXVK? Saia do jogo e exclua as DLLs do DXVK de seu diretório.

3. Você quer jogar seu jogo online

DXVK é uma camada de compatibilidade e afeta apenas a saída gráfica de um jogo. Ainda assim, algumas empresas são contra qualquer modificação de seus jogos para garantir um ambiente justo para todos.

DXVK pode não ser "trapaça", mas ainda é uma "modificação do jogo" e pode ser sinalizado como tal.

4. O jogo já possui suporte Vulkan embutido

Se um jogo já usa a API Vulkan, como Doom Eternal, não há motivo para definir sua saída para Direct3D para depois traduzi-la para Vulkan.

5. O jogo usa Direct3D 12

Como o Direct3D 12 está quase totalmente no mesmo nível do Vulkan, não há nada a ganhar traduzindo uma API gráfica ultramoderna para outra.

Aprimore seus jogos antigos com 3D "traduzido" no Windows

O que começou como uma maneira de jogar mais jogos vinculados ao Windows no Linux acabou se tornando uma solução de compatibilidade útil e um impulsionador de desempenho. Portanto, mantenha um arquivo recente das DLLs do DXVK à mão. Adicione-os a qualquer jogo em que você queira eliminar falhas, melhorar seu desempenho, obter uma ação mais suave no jogo e melhorar sua capacidade de resposta.

Mesmo que não acabe ajudando, experimentá-lo levará apenas alguns segundos e, na maioria das vezes, você poderá se surpreender com os resultados.