===============================================================
  VanySound Gaming Mode
  MODERN WARFARE 4 (retail) - two variants, pick one

  vanysound.com  ·  x.com/VanySound
  Settings only. No audio processing. Free to share.
===============================================================

  1080p\   for 1080p monitors on a mid-range CPU
  1440p\   for 1440p monitors on a fast modern CPU

Built against the RETAIL config schema (s.1.0.cod26) - all 163
settings and their internal hashes match the file the game itself
writes. Not the beta schema: the two are not the same, and a
config built on the beta gets partly ignored on retail.


---------------------------------------------------------------
WHICH ONE
---------------------------------------------------------------

Pick by RESOLUTION first, then sanity-check the CPU.

1080p  - for a rig where the CPU is the limit, not the GPU.
         Hardware profile: 8-core CPU, RTX 5070-class 12GB,
         1080p high-refresh.

1440p  - for a rig where the GPU is the limit.
         Hardware profile: fast 8-core (9800X3D class),
         RTX 5080-class 16GB, 1440p high-refresh.

Not sure? Go by resolution. It matters more than the CPU.

Those hardware profiles are stated here so you know what the tuning
targets. They are NOT written into the config files. The Monitor /
GPU / driver / detected-hardware fields in both variants are
generic placeholders, and the game overwrites them with your own on
first launch. Nothing in these files identifies a machine.


---------------------------------------------------------------
INSTALL
---------------------------------------------------------------

1. Check your CPU's core count first: Task Manager > Performance
   > CPU > read "Cores", NOT "Logical processors".
   If it isn't 8, open the files in your variant folder with
   Notepad and set RendererWorkerCount to your cores minus 1 -
   in EVERY .txt file in the folder. Table below.
   8 cores? Skip this, they already ship with 7.

2. Open MW4 once, then close it completely. Launching is what
   generates the config files.

3. Win + R, type  %localappdata%
   Go to:  Activision > Call of Duty > players

4. LOOK at the s.*.cod26 files that are there and note their
   exact names. If they differ from mine, rename mine to match.
   See FILENAMES below - this is the #1 reason a config does
   nothing.

5. Back up the originals. Copy them somewhere safe.

6. Delete the game's s.*.cod26 files, paste mine.
   See WHICH FILES below for what to paste.

7. Launch the game. If it asks to restore or reset your
   settings -> click NO.

8. Let shader preloading finish before you queue a match.

9. In Settings, set your resolution and refresh rate.


---------------------------------------------------------------
WHICH FILES - READ THIS
---------------------------------------------------------------

Each variant folder contains FOUR files, all with identical
content:

      s.1.0.cod26.txt       <- single-file layout
      s.1.0.cod26.txt0      <- two-slot layout
      s.1.0.cod26.txt1      <- two-slot layout
      s.1.0.cod26.m         <- 2-byte marker

Why four, honestly: Black Ops 7 stores its settings as
.txt0 + .txt1 + .m - two slots that track each other, plus a
marker. Every MW4 config circulating right now is distributed as
a single plain .txt instead. Either MW4 changed the layout, or
those configs silently do nothing.

I haven't been able to settle it, so this package covers both.
Whatever your game actually generated, there's a matching file
here.

WHAT TO DO: copy whichever files match the names your game
generated in step 4. If the game made .txt0/.txt1/.m - use those
three. If it made a single .txt - use that one. Extra files with
names the game doesn't use just sit there doing nothing.

If you only have the two-slot layout, you MUST replace both
slots. Replace one and the game can load the other, and your
change never applies.


---------------------------------------------------------------
FILENAMES - THE #1 REASON A CONFIG DOES NOTHING
---------------------------------------------------------------

Call of Duty names config files per title AND per build, and the
version prefix moves:

  MW4 beta weekend 1   s.1.0.bt.cod26
  MW4 beta weekend 2   s.1.1.bt.cod26
  MW4 retail           s.1.0.cod26     <- what this package uses

Black Ops 7 shows the same pattern - a real install had both
s.1.0.bt.cod25.* (beta) and s.1.0.cod25.* (retail) sitting in the
same folder.

So a season update can rename these. The rule that always works:
launch once, LOOK at the names the game generated, rename the
package files to match exactly.

If the name doesn't match, the game ignores your file completely
and SILENTLY. No error, no warning. It just looks like the config
did nothing.


---------------------------------------------------------------
RendererWorkerCount - CHECK THIS ONE
---------------------------------------------------------------

Both variants ship with:

    RendererWorkerCount@0;51989;59387 = 7

Correct for ANY 8-core CPU. 8 cores? You're done.

Otherwise set it to your PHYSICAL core count minus 1:

    4 cores   ->  3
    6 cores   ->  5
    8 cores   ->  7     <- what both variants ship with
    12 cores  ->  8
    16 cores  ->  8     (it does not scale past 8)

    Intel 12th gen or newer (hybrid CPUs):
    use your P-CORE count minus 1. IGNORE the E-cores.
       i9-14900K (8P + 16E)  ->  7
       i5-14600K (6P + 8E)   ->  5

WHY NOT LEAVE IT ALONE:
The engine's auto-detect overshoots your physical core count.
Measured on a real install, not copied off a guide: on a Ryzen 7
5800X - 8 physical cores - the game had written 9. Nine workers
on an eight-core CPU. Identical value in both that title's beta
and retail configs, so it's consistent engine behaviour.

Other reported auto picks: Ryzen 5 3600 (6c) -> 4. i5-14600K
(6P + 8E) -> 14, because it counts the E-cores.

Setting this by hand is a REDUCTION from what the game gives you.


---------------------------------------------------------------
THE 3 SETTINGS THAT DIFFER BETWEEN THE VARIANTS
---------------------------------------------------------------

1) DLSSPerfModeMP
   1080p = Native Resolution      1440p = Maximum Quality

   The big one. At 1080p on a 5070-class card your GPU sits idle
   while the CPU caps your framerate. Upscaling from 720p buys
   you NOTHING and costs you a blurry image you have to find
   enemies in.

   So: Native Resolution. That's DLSS running at native res as
   pure anti-aliasing - what used to be called DLAA. Sharpest
   possible image, free on a CPU-bound rig.

   (Note for anyone porting a beta config: DLAA used to be a
   DLSSModeMP option. On retail DLSSModeMP only accepts DLSS, and
   the native option moved to DLSSPerfModeMP. Its internal hash
   changed too, so an old beta line is silently ignored.)

   At 1440p the GPU IS the limit, so Maximum Quality earns frames.

   Most "max FPS" configs ship Maximum Performance at 1080p.
   That renders the game at 540p. Don't.

2) VRS        1080p = false       1440p = true

   Variable Rate Shading cuts GPU shading work. CPU-bound, it
   buys zero frames and only costs image quality. GPU-bound, it
   pays for itself.

3) WorldStreamingQuality   1080p = Low      1440p = High

   Streaming costs CPU. A mid-range 8-core can't spare it; a
   9800X3D can, and High means less texture pop-in.


---------------------------------------------------------------
IT DIDN'T WORK? CHECK IN THIS ORDER
---------------------------------------------------------------

Nothing changed at all
  -> Filenames don't match what the game generated. Redo step 4.
     This is the cause by a mile.
  -> Or your game uses the two-slot layout and you only replaced
     one slot.

Settings reverted to default after one launch
  -> You clicked YES when it asked to restore. Click NO.
  -> Or the game detected different hardware and reset
     everything. DisableHWChangeDetection is set to true here
     specifically to stop that. If it still happens, say so -
     that's the one thing I can't verify on hardware that isn't
     mine.

Settings applied but FPS is the same
  -> Run the in-game Benchmark (last tab in Graphics Settings)
     before and after, and compare 1% LOWS, not average FPS.
     These settings target frame consistency, not peak.

Game crashes or won't start
  -> Restore the originals from step 5. No backup? Delete all the
     config files - the game rebuilds them from scratch next
     launch. You lose your settings and nothing else. Nothing
     inside a text file can damage an install.

Worked, then a patch broke it
  -> Seasonal updates rewrite these files and sometimes rename
     them. Redo step 4.


---------------------------------------------------------------
TUNING
---------------------------------------------------------------

8 GB VRAM:
  TextureQuality = 1  or  2      (ships at 0 = highest)
  VideoMemoryScaleMP = 0.700000  (ships at 0.80)
  Lower TextureQuality number = HIGHER resolution textures.
  Textures cost VRAM, not FPS. Running them at 3 leaves
  everything mushy and makes enemies harder to pick out of the
  background, in exchange for nothing.

Short of frames at 1440p:
  DLSSPerfModeMP = Balanced      (ships at Maximum Quality)

1080p but on a FAST cpu (9800X3D class):
  You may be GPU-bound. Flip to VRS = true and
  DLSSPerfModeMP = Maximum Quality.

1440p on a SLOWER cpu:
  Use the 1440p variant but set VRS = false and
  WorldStreamingQuality = Low.

Micro-stutter that won't go away:
  Try  GPUUploadHeaps = false  instead of true.
  This controls Resizable BAR. Ships "true" because that's what
  the game picks on ReBAR-capable hardware, but plenty of people
  report "false" is what killed their stutter. Evidence is
  genuinely split. First thing to A/B test.

360Hz+ panel, or you want no cap:
  MaxFpsInGame = 297   (ships at 237 for 240Hz panels, max 300)
  Or CapFps = false to remove the cap.

Shader preload taking too long / low disk space:
  OfflineGameUpdaterUsage = efficient    (ships at maximum)
  Maximum preloads the most shaders, which is what you want
  against stutter, but it costs time and disk.

Announcer too loud:
  VoiceVolume = 0.000000
  Ships at 1.0 because "enemy UAV above" is information. Music,
  War Tracks and Cinematic volume are already 0 - that's noise
  competing with footsteps.

More enemy shadow tells:
  ShadowQuality = High
  Costs frames, but shadows around corners give players away.
  Ships at Low, which keeps shadows present but cheap. Very_Low -
  what most configs use - throws that tell away entirely.

Not NVIDIA:
  AMD:    AmdAntilag2 = true
          AATechniquePreferredMP = FSR AA
          AMDFidelityFX = FSR 3
  Intel:  IntelXeLL = true  (both @0 and @1)
          AATechniquePreferredMP = XeSS


---------------------------------------------------------------
NOTES, HONESTLY
---------------------------------------------------------------

- All 163 settings and their internal hashes match the retail
  schema exactly, and every value is inside the range the game
  itself documents. Nothing out of bounds. No executable edits,
  no memory edits.

- STLodSkip is 0 in both. Raising it removes foliage and lets you
  see through bushes. That's a cheat, not a tweak.

- GraphicsQuality is left at "Balanced" on purpose. It's the
  preset label, not a setting. Changing it can make the game
  re-apply the whole preset over the individual values.

- Reflex is "Enabled", not "Enabled + boost". Boost raises clocks
  regardless of load - nothing for you when you're CPU-bound, and
  worse on power-limited rigs.

- The 1440p variant's two "Detected" hardware fields and the
  driver fields are blank/zero. That hardware profile isn't a
  machine I own, and I'm not inventing measurements for it. The
  game fills those in on first launch.

- No personal identifiers in these files. If you ever share YOUR
  OWN config, blank these first:
      Monitor, GPUName, LastUsedGPU, DisplayDriverVersion,
      GPUDriverVersion, DetectedFrequencyGHz,
      DetectedMemoryAmountMB
  and the three audio device lines (SoundOutputDevice,
  SoundInputDevice, VoiceOutputDevice). Most published configs
  leak every one of them.

- Seasonal updates can overwrite your config. Re-check after
  patches. People will tell you to set the files read-only to
  stop that. Don't: the game then can't save ANY setting you
  change in the menus, and you'll think the config broke.

===============================================================
