Independent guide · not affiliated with the DXVK project or Valve · downloads always link to the official GitHub

Try: d3d9.maxAvailableMemory, DXVK_HUD, GTA IV, Failed to create Vulkan instance

EXPLAINER · STUTTER · SHADER CACHE · DXVK 3.1.1

Shader stutter in DXVK: why it happens and what actually helps in 3.x

Stutter with DXVK is mostly shaders being compiled the first time the game uses them. Since 2.0, DXVK compiles most shaders while the game loads (Graphics Pipeline Library, on drivers that support it), and since 3.0 it keeps a shader cache in %LOCALAPPDATA%\dxvk, which we saw being created. The old .dxvk-cache files and DXVK_STATE_CACHE were removed in 2.7, so downloading other people's caches no longer does anything.
Checked
2026-11-07
On this page
  1. Which stutter do you have?
  2. What DXVK already does for you
  3. First run vs second run: not measured yet
  4. Where the cache is, and how to clear it
  5. “DXVK not creating a cache” and other cache questions
  6. Things that no longer exist
  7. What you can do
  8. Unreal Engine and other draw-time shader games
How we checked this
Game sends shader DXVK translates Driver compiles GPU draws At draw time (before GPL, and games that load shaders late) Game sends shader DXVK translates Driver compiles GPU draws At load time (Graphics Pipeline Library, DXVK 2.0 and newer) Game sends shader DXVK translates Driver compiles GPU draws From disk (the 3.x shader cache, second run)
  • At draw time. The game asks for a shader mid-scene, so the driver compiles it right then and the frame waits. That wait is the hitch.
  • At load time. DXVK compiles shaders while the game loads its own, in a menu or loading screen, so the frame does not wait later. Needs a driver with VK_EXT_graphics_pipeline_library.
  • From disk. DXVK reads its stored shader work from the cache instead of translating again, so loading is quicker and there is less to compile.
Highlighted box: where the slow step sits in that lane. Simplified illustration, not a measurement.

Which stutter do you have?

Quick triage
SymptomLikely causeGo to
Hitches the first time you see an effect, then goneShader compilationThis page
Uneven frame times even when nothing new appearsFrame pacingThe FPS limit page
Stutter only while an overlay runsOverlay interferenceThe overlay conflicts page
Started after a DXVK updateA regression, or a changed defaultThe release history; try the previous version
Heavy CPU use and hitching at loading screensGPL compiling while the game loadsWait for it to finish
Stutter in Unreal Engine gamesShaders created at draw timeSee the last section

What DXVK already does for you

Graphics Pipeline Library (2.0 and later)

On drivers that support the VK_EXT_graphics_pipeline_library extension, DXVK compiles Vulkan shaders when the game loads its Direct3D shaders, not when it first draws with them, which reduces or removes shader compile stutter in many games (README at 3.1.1). Our 3.1.1 runs logged Graphics pipeline libraries supported on both Windows and Wine (F20; software driver). You can watch the work with the HUD’s compiler item; see the HUD guide.

The cost: in games that load shaders in a menu or loading screen, you can see a long stretch of very high CPU use, worse on weaker CPUs. The README advises waiting for compilation to finish before playing.

The shader cache (3.0 and later)

3.0 added a cache of DXVK’s translated shader work (an intermediate form, not finished Vulkan pipelines), which offsets the higher cost of its new shader compiler. We saw it created: the log line Created cache file: …\d457b6a386c27677.dxvk.bin, with a .dxvk.bin and a .dxvk.lut file per game (F19).

Your driver’s own cache

NVIDIA and Mesa drivers keep their own compiled pipelines, and Steam’s shader pre-caching is a separate system. Clearing a driver cache makes DXVK’s pipelines compile again.

First run vs second run: not measured yet

We planned a chart of the same route played twice, first with an empty cache and then with a full one. That needs a real GPU and real games, which this project’s lab does not have, so there is no chart and no number here.

Where the cache is, and how to clear it

Where DXVK 3.x keeps its shader cache
PlatformLocationBasis
WindowsC:\Users\<you>\AppData\Local\dxvkSeen in our Windows runs (F19)
Wine%LOCALAPPDATA%/dxvk inside the Wine prefixREADME; our run set a custom path (F19), so the default was not seen
Proton, Steam DeckInside the game's Proton prefix, same layout as WineExpected; not verified
Native Linux (DXVK Native)$XDG_CACHE_HOME or ~/.cacheREADME

To open it on Windows press Win+R, type %LOCALAPPDATA%\dxvk and press Enter. This is what the folder held after our Windows run with two small test programs:

  • dxvk/
  • a9eb262a6a302ee0.dxvk.bin ← 0 bytes
  • a9eb262a6a302ee0.dxvk.lut ← 12 bytes
  • d457b6a386c27677.dxvk.bin ← 0 bytes
  • d457b6a386c27677.dxvk.lut ← 12 bytes

The files are tiny because our test programs use trivial shaders; real games will grow them, and we have no real sizes. Delete the folder’s files to clear it; set DXVK_SHADER_CACHE_PATH to move it (verified, F19), or DXVK_SHADER_CACHE=0 to switch it off, which is for troubleshooting only.

“DXVK not creating a cache” and other cache questions

No cache folder usually means one of: DXVK is not loaded, the version is older than 3.0, DXVK_SHADER_CACHE=0 is set, or the folder is not writable. DXVK 1.10.3 and 2.x use the old state cache instead, and 1.10.3 logs it:

compat-dxvk1103-d3d9-64--dxprobe64_d3d9.log · lab Windows Server 2025 · DXVK 1.10.3 log

          
          warn:  DXVK: No state cache file found
          
          
          The old state cache, normal for 1.10.3.
        
          
          warn:  DXVK: Creating new state cache file
          
          
          
        

Can you share caches? Pipelines are compiled per driver, so there is little reason to; we did not test whether the 3.x cache is invalidated by version changes.

Things that no longer exist

Old stutter fixes that do nothing in DXVK 3.x
Old fixStatusUse instead
.dxvk-cache files and sites that sell or share themThe state cache was removed in 2.7The 3.x shader cache; nothing to download
DXVK_STATE_CACHE, DXVK_STATE_CACHE_PATHRemoved with the state cache in 2.7DXVK_SHADER_CACHE_PATH for the 3.x cache
DXVK_ASYNC and dxvk.enableAsyncNever in official DXVK; only in the gplasync forkSee the async page for risks

What you can do

  1. Let loading screens finish and watch the compiler HUD item: heavy compile activity after the menu is normal on GPL drivers (README).
  2. Play the same area twice: the cache should help the second run. We have not measured how much.
  3. Keep your GPU driver current: GPL depends on the driver.
  4. Cap FPS or set a frame latency to smooth pacing; see the FPS limit page.
  5. On Linux and Steam Deck, keep Steam’s shader pre-caching on.
  6. Close overlays.
  7. If you accept the risks, an async fork: see the async page.

More compiler threads rarely help. dxvk.numCompilerThreads defaults to 0, which uses all CPU cores, and our runs logged DXVK: Using 4 compiler threads.

Unreal Engine and other draw-time shader games

GPL cannot help games that only load their Direct3D shaders at draw time, such as most Unreal Engine games. The README says they will still stutter somewhat, though less than without GPL. Many of these games stutter on native DirectX too; we have not compared.

Questions people ask

Why does DXVK stutter?

Most often because a shader is compiled the first time the game needs it, and the frame waits. DXVK 2.0 and newer compile shaders at load time on drivers with the Graphics Pipeline Library extension, which reduces or removes this in many games.

Where is the DXVK cache on Windows?

In %LOCALAPPDATA%\dxvk, which is C:\Users\<you>\AppData\Local\dxvk. Our Windows runs of 3.1.1 created one .dxvk.bin and one .dxvk.lut file there per game (finding F19).

How do I delete the DXVK cache?

Close the game and delete the files in that folder. DXVK rebuilds them on the next run. That is our reading of how a cache works; we did not time the rebuild.

Why is DXVK not creating a cache?

The cache exists from DXVK 3.0. Older versions use a state cache instead. It will also be missing if DXVK is not loaded, if DXVK_SHADER_CACHE=0 is set, or if the folder cannot be written.

Is there a dxvk-cache download for my game?

No. The .dxvk-cache system was removed in 2.7, and downloaded caches no longer do anything.

Does DXVK 3.0 fix stutter?

Its new shader cache stores compile work between runs, which helps loading, but games that load shaders only at draw time, such as most Unreal Engine games, still stutter somewhat. We have no real-game measurements.

What does GPL mean?

Graphics Pipeline Library, a Vulkan extension (VK_EXT_graphics_pipeline_library). It is not the GNU licence: DXVK's licence never changed.

Sources

  1. DXVK README at v3.1.1 (Graphics Pipeline Library, shader cache) · accessed 2026-11-07
  2. DXVK dxvk.conf at v3.1.1 (numCompilerThreads) · accessed 2026-11-07
  3. DXVK releases · accessed 2026-11-07