Cómo ganar rendimiento extra en tus juegos sin pagar de más

Cómo ganar rendimiento extra en tus juegos sin pagar de más

Josep Roca

Muchas veces nos ocurre que tenemos un juego clásico al que queremos jugar, pero no nos alcanza los deseados 60 FPS, incluso teniendo un PC mucho más potente que los requisitos recomendados. En este caso, el cuello de botella pueden ser las limitaciones de la API utilizada. Es en este punto donde soluciones como DXVK nos permiten sacar todo el rendimiento de nuestro ordenador al jugarlos.

Los intérpretes son una de las piezas de software más importantes en los últimos tiempos y que son más desconocidas, esto se debe a que su trabajo se realiza no en frente del usuario, sino entre las bambalinas del sistemas. Todo ello ha permitido que muchas de las aplicaciones que hubiesen perdido la compatibilidad con nuestras máquinas la hayan conservado hasta el momento.

¿Qué es DXVK y para qué sirve?

Lo primero que hemos de partir es de un hecho muy simple, Vulkan una API gráfica al igual que Direct3D y, por tanto, sirve para comunicar las aplicaciones con la tarjeta gráfica y que puedan generar los gráficos que vemos en pantalla que nos sirve para interactuar con nuestra computadora. Pues bien, dado que Direct3D es exclusivo de Windows, ya que es un producto de Microsoft, otros sistemas operativos usan otras API. Aunque el caso de Vulkan es especial, ya no está relacionada con ninguna marca en concreto, tiene las mismas capacidades que Direct3D 12 a nivel técnico y es además multiplataforma, tanto en el ámbito del sistema operativo como del hardware.

DXVK DirectX Vulkan

Es por ello que para poder permitir la compatibilidad con la Steam Deck, la cual funciona bajo una variante a medida de GNU/Linux, de los juegos de Windows se usa una aplicación llamada Proton, la cual principalmente se basa en una librería llamada DXVK, que lo que hace es trasladar los comandos de Direct3D a Vulkan para que se puedan ejecutar. Esto no resulta en una ventaja de rendimiento con Direct3D 12, pero si con juegos en Direct3D 9, 10 y 11. En general esto tiene dos utilidades:

  • En un futuro veremos cómo los juegos antiguos escalarán peor en rendimiento, debido a que el procesador de comandos de la GPU estará más optimizado y enfocado para D3D 12 y posteriores. Y en especial por el hecho que llegado a un punto el soporte de los drivers abandonará a D3D 12.
  • Si tenemos una tarjeta gráfica compatible con Vulkan, esto nos permite ganar frames por segundo en muchos juegos. La ventaja de Vulkan y D3D es que pueden generar varias listas de comandos, separando las partes que no están sincronizadas con el dibujado en pantalla y ejecutándolas en paralelo.

¿Qué ventajas tiene?

Puede parecer completamente ilógico que el hecho de añadirle un intérprete sobre la ejecución de Direct3D disminuya el tiempo para generar cada fotograma, pero hemos de partir del hecho de que DXVK no ejecuta el juego en la API nativa, sino que realiza la traducción de las instrucciones a tiempo real para ejecutar el juego bajo Vulkan y en este último caso la carga es mucho más baja. Podemos llegar a ver que la tasa media de frames por segundo puede ir del 20% de rendimiento adicional hasta el 100% en algunos juegos. Así que merece la pena realizar este paso con todos los juegos.

DXVK GTA IV

Por otro lado, si una tarjeta gráfica tiene soporte para Vulkan, pero no para Direct3D por debajo de la versión 12, como es el caso de las ARC de Intel, entonces esto es una solución perfecta para hacer que puedas disfrutar de tu enorme colección de juegos para PC en ellas. Lo mismo podemos decir si en un futuro AMD y NVIDIA siguen el mismo camino, lo cual no debéis descartar.

Además, esta solución funciona en cualquier tarjeta gráfica, sea cual sea la marca, solo tienes que asegurarte que soporte Vulkan.

¿Y las desventajas?

Dado que no todo el monte es orégano, os vamos a listar las contraindicaciones que tiene DXVK:

  • No todos los juegos son compatibles, debido a que la librería es la misma que usa Proton os recomendamos mirar la lista de compatibilidad del mismo. Si un juego no funciona, no te preocupes, lo estás ejecutando en Windows y, por tanto, solo tendrás que ejecutarlo sin DXVK.
  • Tiene problemas con algunas aplicaciones anti-trampas, por lo que puede que no puedas usarlo en algunos juegos multijugador.
  • Si tienes el V-Sync activado en las opciones del juego, puedes experimentar latencia adicional en el control. Esto se debe a que no podemos usar las opciones de reducción de latencia de Direct3D 9, 10 y 11 al no encontrarse un equivalente en Vulkan.
  • DXVK no soporta HDR.

¿Podemos usarlo en Windows y cómo?

Por supuesto y es por esto que hemos decidido escribir este pequeño tutorial, obviamente vais a necesitar una tarjeta gráfica compatible con Vulkan. Es más, tampoco no hará falta tener Proton instalado. En todo caso, las instrucciones son sencillas.

  1. Ves al repositorio oficial de DXVK y descárgate la versión ASYNC, la cual tiene la particularidad de reducir el impacto de la recompilación de shaders de la primera partida.
  2. Una vez hayas descomprimido el archivo verás que existen dos etiquetas, una es para juegos con binario de 32 bits y otra para juegos con binarios de 64 bits.
  3. Es importante saber cómo está compilado el juego que te acabas de bajar, Para saberlo te recomendamos visitar PCGamingWiki donde si te desplazas con el ratón hacia abajo podrás encontrar la información correspondiente, así como la versión de DirectX que utiliza.DXVK Ejemplo Juego
  4. El ejemplo de arriba es con GTA IV, el cual usa la API Direct3D 9 y la versión de 32 bits. Por lo que tendremos que ir a la carpeta X32 y copiar los archivos que empiecen por d3d9 y tengan extensión .dll. Si la API del juego es DirectX 10, entonces será d3d10, etcétera. También deberás copiar el archivo dxgi.dll. ¿A dónde? A la carpeta raíz de la instalación del juego.
  5. Ya en la carpeta raíz del juego, haz lo siguiente:
    1. Clic derecho sobre una parte vacía de la carpeta y selecciona nuevo y de ahí documento de texto.
    2. Ábrelo y escribe: dxvk.enableAsync = true
    3. Guárdalo como dxvk.conf en la carpeta raíz del juego.

Ahora solo os falta disfrutar de los juegos, con ello habréis ganado frames adicionales en los juegos. Tened en cuento que esto dependerá de cada título, pero se trata de una pequeña ayuda que os permitirá aprovechar mejor vuestro hardware en juegos que ya tenían unos años. Nosotros hemos visto como ciertos juegos alcanzan los 60 FPS y con tarjetas gráficas modestas como una GTX 1650 de NVIDIA.

Y ya está, disfruta de tu juego de tu clásico con rendimiento mejorado.

¡Sé el primero en comentar!