Many times it happens to us that we have a classic game that we want to play, but it does not reach the desired 60 FPS, even if we have a much more powerful PC than the recommended requirements. In this case, the bottleneck may be the limitations of the API used. It is at this point where solutions like DXVK They allow us to get all the performance of our computer when playing them.
Interpreters are one of the most important and unknown pieces of software in recent times, this is because their work is done not in front of the user, but behind the scenes of the system. All this has allowed many of the applications that would have lost compatibility with our machines to have kept it up to now.
What is DXVK and what is it used for?
The first thing we have to start from is a very simple fact, Vulkan is a graphics API just like Direct3D and, therefore, it is used to communicate applications with the graphics card and that they can generate the graphics that we see on the screen that we use to interact with our computer. Well, since Direct3D is exclusive to Windows, since it is a Microsoft product, other operating systems use other APIs. Although the case of Vulkan is special, it is no longer related to any specific brand, it has the same capabilities as Direct3D 12 at a technical level and it is also cross-platform, both in terms of operating system and hardware.
That is why in order to allow compatibility with the Steam Deck, which works under a custom variant of GNU/Linux, an application called Proton is used for Windows games, which is mainly based on a library called DXVK, that what it does is translate Direct3D commands to Vulkan so that they can be executed. This does not result in a performance advantage with Direct3D 12, but it does with games in Direct3D 9, 10 and 11. In general this has two uses:
- In the future we will see how older games will scale less in performance, because the GPU command processor will be more optimized and focused for D3D 12 and later. And especially due to the fact that at some point driver support will leave D3D 12.
- If we have a graphics card compatible with Vulkan, this allows us to gain frames per second in many games. The advantage of Vulkan and D3D is that they can generate several lists of commands, separating the parts that are not in sync with the drawing on the screen and executing them in parallel.
What advantages does it have?
It may seem completely illogical that the fact of adding an interpreter on the execution of Direct3D decreases the time to generate each frame, but we must start from the fact that DXVK does not execute the game in the native API, but rather performs the translation of the instructions in real time to run the game under Vulkan and in the latter case the load is much lower. We can get to see that the average rate of frames per second it can go from 20% additional performance up to 100% in some games. So it’s worth doing this step with all games.
On the other hand, if a graphics card supports Vulkan, but not Direct3D below version 12, as is the case with Intel’s ARC, then this is a perfect solution to make your huge collection of graphics enjoyable. PC games on them. The same can be said if in the future AMD and NVIDIA follow the same path, which you should not rule out.
Also, this solution works on any graphics card, whatever the brand, you just have to make sure it supports Vulkan.
And the disadvantages?
Since not all the mountain is oregano, we are going to list the contraindications that DXVK has:
- Not all games are supportedbecause the library is the same as that used by Proton, we recommend you look at the compatibility list of the same. If a game doesn’t work, don’t worry, you’re running it on Windows, so you just have to run it without DXVK.
- Has problems with some anti-cheat appsso you may not be able to use it in some multiplayer games.
- If you have the V-Sync on in the game options, you can experience theextra attention on control. This is because we cannot use the Direct3D 9, 10 and 11 latency reduction options as there is no equivalent in Vulkan.
- DXVK does not support HDR.
Can we use it on Windows and how?
Of course and this is why we have decided to write this little tutorial, obviously you are going to need a graphics card compatible with Vulkan. Moreover, it will not be necessary to have Proton installed either. In any case, the instructions are simple.
- go to official DXVK repository and download the ASYNC versionwhich has the particularity of reducing the impact of recompiling shaders from the first game.
- Once you have unzipped the file you will see that there are two labels, one is for games with 32-bit binary and another for games with 64-bit binaries.
- It is important to know how the game you just downloaded is compiled. To find out, we recommend you visit PCGamingWiki where if you scroll down with the mouse you can find the corresponding information, as well as the version of DirectX you use.
- The example above is with GTA IV, which uses the Direct3D 9 API and the 32-bit version. So we will have to go to the X32 folder and copy the files that start with d3d9 and have a .dll extension. If the game’s API is DirectX 10, then it will be d3d10, and so on. You will also need to copy the dxgi.dll file. Where? To the root folder of the game installation.
- Already in the root folder of the game, do the following:
- Right click on an empty part of the folder and select new and from there text document.
- Open it and type: dxvk.enableAsync = true
- save it as dxvk.conf in the root folder of the game.
Now you just need to enjoy the games, with this you will have gained additional frames in the games. Keep in mind that this will depend on each title, but it is a small help that will allow you to make better use of your hardware in games that were already a few years old. We have seen how certain games reach 60 FPS and with modest graphics cards such as an NVIDIA GTX 1650.
And that’s it, enjoy your game of your classic with improved performance.