Must-haves for PC gaming: DXVK

Must-haves for PC gaming: DXVK

1

Experiencing less than expected performance in a game? The underlying culprit can be difficult to diagnose. There are so many potential factors to consider. Graphical options, thermal throttling and backgrounded processes all sit atop a PC gamer’s routine checklist.

When these go-to solutions don’t bear results, it can quickly devolve into a hair-pulling exercise in frustration and abandoning the game all together.

It’s particularly annoying in older or less demanding games. Surely a modern PC should be able to brute force a solution? However, the technical make-up of outdated engines and poorly implemented drivers enforce a strict limit which is hard to circumvent.

This was our experience trying to play late 00’s and early 10’s games such as Grand Theft Auto 4 and Fallout: New Vegas. These games are well over a decade old, and their out-of-the-box performance is severely underwhelming.

It may not be immediately apparent, but some games only utilise a couple of cores at most. Hardware monitors like Task Manager can be deceiving by default, only showing overall utilisation spread out across all cores.

However, bring up Task Manager and click on CPU activity under the Performance tab. Right click the graph and change it to logical processors, and it tells a completely different story.

Load up a game, and you may witness a couple threads pinned to 100% while the others are barely touched.

Task Manager, RivaTuner, HWiNFO – regardless of hardware monitor, we always recommend breaking down CPU usage to individual threads for accurate diagnoses.

On modern processors, you’ve got substantially more threads than these APIs, drivers and game engines were originally engineered around. Back then, quad-core processors without simultaneous multithreading were the norm.

Nowadays, even some laptops have 16 threads. How can we better utilise our hardware? Flicking through the PCGamingWiki (a must-have browser bookmark for PC gamers), we stumbled upon a potential solution – DXVK.

A PC gamers best friend

What is DXVK?

As the name implies, DXVK translates DirectX (9, 10, 11) application programming interface (API) calls to Vulkan API calls.

Vulkan and more modern APIs better utilise multi-core/multi-threaded processors to set-up tasks for the GPU to execute. With the CPU and GPU efficiently co-operating, the result will be a noticeable boost to performance depending on the game.

DXVK was originally intended for gaming on Linux. It’s included in Valve’s Proton. Fortunately, it works surprisingly well on Windows, albeit in an unofficial capacity.

Even with DXVK acting as a transition layer, which costs processing time, the significantly reduced overhead of Vulkan negates any performance penalties incurred.

It isn’t a magic bullet to cure all performance-related woes. DXVK doesn’t spontaneously convert a game to a multi-threaded workload – a common misconception.

Try experimenting on a game-by-game basic. Some will perform significant better; some will demonstrate performance regressions or outright crashes.

Even some relatively modern games like Assassins Creed: Origins benefit from DXVK, according to PCGamingWiki.

Our general rule of thumb: if the game runs on DirectX 9 or 10, try DXVK as their Windows drivers have depreciated significantly in recent years.

On DirectX 11, try DXVK on AMD cards as NVIDIA cards have superior support for DirectX11.

To stay on the safe side, we recommend not using DXVK on multi-player games. Messing with files and manipulating APIs may accidentally trigger anti-cheat.

Latest release as of writing

Installing

First and foremost, make sure your graphics card supports Vulkan! Before we start the straight-forward installation process, you need to know two key pieces of information – what iteration of DirectX the game runs on, and whether it’s a 32-bit or 64-bit executable.

How do you determine these? The best way is yet again the PCGamingWiki. Search for your game and look for ‘API’ under ‘Other information’. For instance, Fallout: New Vegas is solely DirectX 9 and a 32-bit executable.

Installation is essentially drag-and-drop. Download and extract DXVK to a dedicated folder. Open the DXVK folder and click through the sub-folders for either 32-bit or 64-bit depending on the game, then navigate to the root folder where the game’s executable (‘.exe’) is located. From the DXVK folder, copy to the root folder:

  • d3d9.dll for DirectX 9 games
  • d3d10.ddl, d3d10_1.dll, d3d10core.dll, d3d11.dll and dxgi.dll for DirectX 10 games
  • d3d11.ddl and dxgi.dll for DirectX 11 games

Results

Let’s load up Fallout: New Vegas and produce some before and after comparisons!

Notice the one stressed thread, while the others are barely utilised

Strolling down to The Strip, there’s a lot of non-player characters loitering around, pinning one of our threads to 100% without DXVK. Our CPU is the bottleneck in this scenario.

Before DXVK

With DXVK, the results are immediately apparent. The frames-per-second boost and consistent frame times puts us in an entirely different category of performance.

After DXVK

Before, a fluctuating 70-80 frames-per-second to 130 frames-per-second, great for high refresh rate gaming.

Using an external frame limiter like RivaTuner, you could lock this to an unwavering 120 frames-per-second for perfectly paced, stutter-free gameplay.

In our overlay, notice how GPU usage has increased especially. It’s still not fully utilised, but we’ve essentially doubled our GPU load. We’re now making much better use of our GPU to push out more frames.

Fallout: New Vegas is a notoriously buggy game. Even with a heavily modified game to rectify its technical shortcomings, adding DXVK doesn’t affect stability negatively from our experience.

Grand Theft Auto 4

Grand Theft Auto 4 is infamous among PC gamers, a dreaded ‘console port’, riddled with the remnants of Games for Windows Live. Right from the get-go, performance is constantly stagnated and never lets up. It was the Rockstar Games’ RAGE engine first debut on PC and require a very specific set-up at the time for optimal performance. Later RAGE-powered games like Max Payne 3 were extremely performant, but Grand Theft Auto 4 was left to slowly rot.

Here’s Task Manager, broken down to logical processors, with Grand Theft Auto 4 running in the background. Notice how only a couple threads are actively utilised on a AMD Ryzen 4800H, a 16 thread chip.

Before DXVK

DXVK completely transforms the game on modern systems. It wipes out an insidious micro-stutter afflicting the game and also results in an frames-per-second boost – a win-win for performance.

After DXVK

This example in particular demonstrates the powerful utility of DXVK. It’s pushed us from below the 60 frames-per-second mark, the minimum bar for many PC gamers, to well above. 54 frames-per-second is ‘close enough’ for some, especially on a adaptive sync monitor, but think of the percentage differential.

This is over a 50% increase in performance, simply for dragging-and-dropping a couple files. Depending on your hardware, this could turn the game from an unplayable mess to an enjoyable experience.

Having options like DXVK in our back pocket reminds us why PC gaming is so great. What are your ‘must-haves’ for PC gaming? Let us know on socials – we’d love to share their existence with as many gamers as possible!