AMD V Cache Driver Preference - LordBlacksun/x3d-ccd-optimizer GitHub Wiki

AMD V-Cache Driver Preference

What is it?

AMD's V-Cache driver (amd3dvcache) exposes a registry-based preference system that tells Windows which CCD to favor. This is AMD's official (if underdocumented) mechanism for CCD preference on Windows.

The app supports this as an alternative to direct Affinity Pinning via the Optimization Strategy setting.

Two Strategies Compared

Affinity Pinning

  • How it works: Directly sets each process's CPU affinity mask, hard-pinning it to specific cores
  • Strength: Guaranteed enforcement -- the process physically cannot run on the wrong CCD
  • Weakness: Overrides Windows scheduler completely; if a V-Cache core is busy, the game can't overflow to CCD1

Driver Preference

  • How it works: Sets the AMD V-Cache driver's registry key to prefer one CCD over the other
  • Strength: Works with the Windows scheduler rather than overriding it; gentler approach
  • Weakness: It's a preference, not enforcement -- the scheduler may still place threads on the non-preferred CCD under load

When to Use Which

Use Affinity Pinning if:

  • You play games that are well-optimized for 8 threads or fewer
  • You want guaranteed V-Cache isolation
  • You're comfortable with the game being limited to 8 cores

Use Driver Preference if:

  • You play games that genuinely use more than 16 threads and need both CCDs
  • You want the scheduler to have flexibility under heavy load
  • You prefer a lighter-touch optimization

Default Strategy

On first run, the app automatically selects the strategy based on your processor:

  • Dual-CCD X3D processors (7950X3D, 9950X3D, 7900X3D, 9900X3D): defaults to Driver Preference when the AMD V-Cache driver is detected and its service is running. Falls back to Affinity Pinning if the driver is not available.
  • Dual-CCD Standard processors (7950X, 7900X, 5950X, 5900X, 9950X, 9900X): defaults to Affinity Pinning since the V-Cache driver is not applicable to non-X3D hardware.

How to Switch

  1. Open Settings --> General
  2. Change "Optimization strategy" from "Affinity Pinning" to "Driver Preference" (or vice versa)
  3. Click Apply
  4. The change takes effect on next mode toggle or app restart

Power Plan Note

Driver Preference works best with the Balanced power plan. Windows' High Performance plan can interfere with the driver's core parking behavior, which is how the AMD driver steers workloads. If you're using Driver Preference and the app detects a non-Balanced power plan, it will show a warning in the status bar.

Technical Details

The AMD V-Cache driver stores its preference in the Windows registry. The specific key and values are based on the interface surfaced by cocafe/vcache-tray (archived). Credit to cocafe for documenting this undocumented AMD interface.

When Driver Preference is active:

  • The app writes the CCD preference to the driver's registry key
  • The AMD driver adjusts core parking and scheduling hints accordingly
  • The app restores the original registry value on exit or mode switch
  • Recovery.json includes the original registry value for dirty shutdown protection