Creado originalmente para Linux, DXVK también puede ayudarlo a "arreglar" juegos antiguos en Windows y mejorar su rendimiento. He aquí por qué y cómo.
Direct3D ha sido parte de los juegos de Windows durante décadas, unificando el panorama de hardware de PC segmentado bajo un paraguas habilitado para 3D. Sin embargo, una aplicación creada principalmente para Linux, DXVK, a veces es una opción mucho mejor para usar, incluso si está en Windows.
¿Le gustaría una mejor compatibilidad y, lo que es más importante, un mejor rendimiento para sus aplicaciones y juegos? Entonces necesitas probar DXVK.
El problema con DirectX en Windows
Microsoft creó DirectX como una "solución unificada" que ayudó a los programadores a usar las capacidades de hardware de cualquier PC. En lugar de escribir un código diferente para cada parte del hardware, los desarrolladores de software podrían "apuntar" a las bibliotecas DirectDraw (gráficos 2D), Direct3D (3D acelerado por hardware) y DirectSound (audio) de DirectX. Luego, deje que la solución de Microsoft "traduzca" su código al "idioma nativo" de cada parte del hardware.
DirectX se convirtió en una tecnología central insustituible en Windows y ha ido evolucionando desde entonces. Sin embargo, hay un pequeño problema con Direct3D: no es 100% compatible con versiones anteriores.
Microsoft y los creadores de GPU que admiten la API de Direct3D (como en "Nvidia, AMD e Intel") han ocasionalmente dejó de admitir funciones introducidas en versiones anteriores de Direct3D, pero que nunca ganaron tracción. Por lo tanto, es posible que algunos juegos antiguos no se ejecuten correctamente en una GPU moderna con las versiones más recientes de Direct3D.
¿Qué es Vulkan?
Supuestamente una respuesta más "abierta" al Direct3D de código cerrado de Microsoft, OpenGL era una versión mutada de las bibliotecas de gráficos 3D utilizadas en las estaciones de trabajo de gráficos de Silicon Graphics.
OpenGL, sin embargo, siempre se retrasó, en cuanto a características, en comparación con Direct3D de Microsoft. Eventualmente, parecía más racional reiniciar el esfuerzo. Por eso se creó Vulkan, también conocido como "OpenGL Next", que ofrece un mejor rendimiento y un mayor control sobre el hardware.
Al igual que OpenGL, ya diferencia de Direct3D para Windows de Microsoft, Vulkan es "abierto" y multiplataforma. Puede usar Vulkan en Windows, Linux e incluso en teléfonos inteligentes. Aunque no se admite de forma nativa en Mac, se puede usar allí a través de MoltenVK.
Esa fue la versión corta. Para obtener más información sobre Vulkan, consulte nuestro artículo sobre qué bibliotecas de tiempo de ejecución de Vulkan hay en Windows.
¿Qué es DXVK?
DXVK es un contenedor que "traduce" Direct3D a Vulkan. En el mundo humano, un traductor puede ser un mediador entre un hablante de inglés y japonés, lo que les permite entenderse entre sí. De manera similar, los "envoltorios" o "capas de traducción" pueden "tomar" código escrito para una pieza específica de hardware, plataforma o API y traducirlo para que se ejecute en otro.
DXVK se desarrolló originalmente para Linux con el soporte de Valve, que también lo usa en SteamOS y Steam Deck. Puede obtener más información al respecto en nuestro artículo donde vimos qué es Steam Proton y cómo ejecuta juegos de Windows en Steam Deck.
¿Por qué debería usar DXVK en Windows?
Si un juego ya funciona bien en su hardware, no hay razón para usar DXVK. Pero algunos juegos escritos para versiones anteriores de DirectX no se ejecutan "correctamente" (si es que lo hacen) en versiones más nuevas de DirectX y hardware moderno.
Al "traducir" el código Direct3D antiguo y con errores a la API Vulkan más moderna, hay un costo mínimo en el rendimiento (si lo hay). Al mismo tiempo, los juegos problemáticos con gráficos rotos o funciones que faltan pueden volver a ser completamente jugables.
Dado que Vulkan está a la par con Direct3D 12, y ambos son mucho mejores (y más rápidos) que las versiones anteriores de Direct3D (como vimos cuando comparamos DirectX 11 VS DirectX 12), "traducir" juegos antiguos de Direct3D a Vulkan a veces puede mejorar el rendimiento del juego.
El trabajo de Intel en sus GPU Arc es prueba de ello. Intel podría intentar agregar soporte para cada título anterior en los controladores Arc GPU. En cambio, Intel decidió trabajar para mejorar aún más DXVK. Los resultados iniciales del "experimento" de Intel conducen a un aumento del doble en el rendimiento de los títulos más antiguos, con docenas reproducibles "a través" de DXVK.
Cómo usar DXVK en Windows
Usar DXVK en Windows es fácil, ya que no hay nada que ajustar o configurar. Solo tiene que descargarlo, extraerlo en la carpeta correcta del juego y estará listo para funcionar.
Sin embargo, debe usar la versión correcta de DXVK que coincida con la versión de Direct3D que usa su juego.
Probablemente sea más fácil si repasamos todo el proceso juntos para ver cómo puede descargar la última versión de DXVK, identificar la "tecnología" de su juego e instalar las DLL correctas en la carpeta adecuada.
Cómo descargar DXVK
DXVK es un software de código abierto y de uso gratuito. Puedes encontrar su última versión en GitHub.
- Visita DXVK's página oficial de GitHub y haga clic en el El último enlace de la versión a la derecha de la página, bajo Lanzamientos.
- Desplácese hacia abajo en la página de lanzamientos y busque el Activos sección de la última versión. Haga clic en el último archivo DXVK tar.gz para descargarlo. En el momento de escribir este artículo, era la versión 2.2.
- Guarde el archivo descargado en algún lugar, ya que deberá extraer su contenido a la carpeta de cada juego que desee ejecutar con DXVK en lugar de Direct3D.
Cómo elegir la versión correcta de DXVK
Si necesita saber qué versión de Direct3D está usando su juego, el sitio web PC Gaming Wiki puede ayudarlo.
- Visita Wiki de juegos de PC con su navegador, y use el campo de búsqueda en la parte superior derecha para buscar el juego al que desea agregar DXVK.
- Cuando encuentre su juego, visite su página y desplácese hacia abajo para llegar al Otra información sección. Dirija su atención a las tablas de API. Allí, en el Especificaciones técnicas y Soportado columnas, verás la versión de Direct3D que usa tu juego. Debajo, el Ejecutable, 32 bits, y 64 bits las columnas le "dirán" qué arquitectura debe elegir.
Cómo agregar DXVK a tus juegos
Ahora que sabe qué versión de Direct3D y qué arquitectura de CPU usa su juego, puede agregar la versión correcta de DXVK a su carpeta.
- Abra el archivo DXVK con su administrador de archivos favorito (para este artículo, estamos usando WinRAR) e ingrese la carpeta única DXVK que verá allí.
- Dentro, encontrará dos subcarpetas, una para cada arquitectura de computadora. Introduce el correcto para tu juego. Incluso si su sistema operativo es de 64 bits, como la mayoría de las versiones de Windows actuales, si su juego es de 32 bits, debe buscar la carpeta de 32 bits.
- Selecciona el DXGI.DLL más la DLL correcta para la versión de Direct3D tu juego está usando. Como verás, existen tres DLL más, una para cada una de las versiones anteriores de Direct3D: 9, 10 y 11.
- Busque la carpeta local donde está instalado su juego y localice la subcarpeta con su ejecutable ("el archivo desde el que se ejecuta el juego"). Extraiga las DLL del paso anterior a esta carpeta.
Cómo probar y comparar tu juego mejorado
Si ejecuta su juego ahora, debería usar Vulkan en lugar de Direct3D y, con suerte, funcionar mejor.
Incluso si no ve cambios drásticos en las velocidades de fotogramas, a veces las mejoras se pueden "sentir" de otras maneras. Por ejemplo, probamos DXVK con el clásico Batman: Arkham City en una PC equipada con un Ryzen 5900x, 64 GB de RAM y una GPU Nvidia RTX 3070. Nuestro hardware ya estaba por encima de las especificaciones principales de este viejo juego, logrando velocidades de cuadro muy altas. Incluso si aumentaran con Vulkan, la diferencia no sería fácilmente perceptible.
Sin embargo, la acción del juego se sintió más fluida. Las transiciones entre pantallas, niveles de carga y presionar Alt + Tabulador fueron casi instantáneos con DXVK.
Cuándo no debe usar DXVK
DXVK tiene muchos beneficios y puede llevar el rendimiento de los juegos más antiguos a la era moderna. A pesar de esto, no es una bala de plata para mejorar el rendimiento y, a veces, simplemente no vale la pena usarlo.
1. DXVK no mejora el rendimiento del juego
Si agregó las DLL de DXVK a su juego pero luego no notó ninguna diferencia, puede eliminarlas nuevamente si lo desea. Puede eliminar las DLL que ha agregado a la carpeta de un juego para hacer eso.
2. DXVK provoca un peor rendimiento o presenta nuevos fallos
A veces, agregar DXVK a un juego puede tener el efecto contrario. Desafortunadamente, no hay forma de que un usuario final solucione estos problemas.
¿Aparecieron fallas visuales o fallas en el rendimiento de un juego después de agregar DXVK? Salga del juego y elimine las DLL de DXVK de su directorio.
3. Quieres jugar tu juego en línea
DXVK es una capa de compatibilidad y solo afecta la salida gráfica de un juego. Aún así, algunas empresas se oponen a cualquier modificación de sus juegos para garantizar un entorno justo para todos.
Es posible que DXVK no esté "haciendo trampa", pero sigue siendo una "modificación del juego" y podría marcarse como tal.
4. El juego ya tiene soporte Vulkan incorporado
Si un juego ya usa la API de Vulkan, como Doom Eternal, no hay motivo para configurar su salida en Direct3D para luego traducirla a Vulkan.
5. El juego usa Direct3D 12
Dado que Direct3D 12 está casi a la par con Vulkan, no hay nada que ganar al traducir una API de gráficos ultramoderna a otra.
Mejore sus juegos antiguos con 3D "traducido" en Windows
Lo que comenzó como una forma de jugar más juegos vinculados a Windows en Linux, terminó convirtiéndose en una solución de compatibilidad útil y un refuerzo de rendimiento. Por lo tanto, tenga a mano un archivo reciente de DLL de DXVK. Agréguelos a cualquier juego en el que desee eliminar fallas, mejorar su rendimiento, obtener una acción más fluida en el juego y mejorar su capacidad de respuesta.
Incluso si no termina ayudando, probarlo solo tomará unos segundos y, en la mayoría de los casos, es posible que se sorprenda con los resultados.