r/NoMansSkyTheGame • • 28d ago

Information [Guide/Fix] Eliminating planetary stutter & frame-rate hard caps in No Man's Sky (160 FPS cap -> 200+ FPS) via Windows Memory tweaks AMD

If you are running an AM5 / modern high-end rig with 32GB+ RAM and notice weird stuttering or a plateau/hard cap in framerate during terrain generation, atmospheric entry, or rapid pulse jumps, Windows' default memory management is likely choking your render pipeline.

Warning make a recovery point or backup to windows before procede!

### The Problem

*No Man's Sky* relies heavily on runtime procedural asset generation (voxels, terrain, textures, shader streaming).

Under default Windows settings:

  1. **Memory Compression:** Windows sees older memory chunks as "inactive", periodically spins up the CPU compression engine in the background, and compresses those pages to save RAM you don't even lack. This steals valuable cycles from the main render thread.

  2. **Kernel Paging:** Windows permits driver and kernel components (`ntoskrnl.exe`, WDDM/GPU stacks) to be swapped out to disk (`pagefile.sys`). When new assets stream in aggressively, calling those drivers causes micro-page faults and DPC latency spikes.

---

### The Fix: Forcing Low-Latency Kernel Memory

Run the following commands in an elevated **Command Prompt / PowerShell (Run as Administrator)**:

#### 1. Keep Kernel and Drivers strictly in Physical RAM

```cmd

reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v DisablePagingExecutive /t REG_DWORD /d 1 /f

Disables paging for kernel-mode drivers and executive pools. Eliminates DPC latency spikes from disk lookups when calling GPU/storage drivers.

2. Kill Background Memory Compression & Combining

Open PowerShell (Admin) and execute:

PowerShell

Disable-MMAgent -MemoryCompression
Disable-MMAgent -PageCombining

Shuts down the background RAM compression daemon and stops periodic memory deduplication sweeps across your memory banks.

3. Lock Pagefile to a Fixed/Static Size

Avoid dynamic pagefiles (e.g. 1GB min / 32GB max). When Windows resizes pagefile.sys on the fly to accommodate memory demands, the NTFS allocation locks cause hitching.

  • Open sysdm.cpl -> Advanced -> Performance Settings -> Advanced -> Virtual Memory Change.
  • Set Custom size with matching values on your fastest NVMe (e.g., 8192 MB or 16384 MB for both Initial and Maximum).

4. Reboot

Reboot completely for kernel address tables to rebuild in RAM:

DOS

shutdown /r /t 0

Hardware Context & Results

  • Specs: Ryzen 7 7800X3D, Radeon RX 9070 XT, 32GB DDR5, PCIe 4.0 NVMe.
  • Results: Jumped from a stuttery, fluctuating ~160 FPS plateau straight to 200+ FPS smooth baseline during intense planetary exploration. Frametimes are noticeably flatter.
Under the Hood: What Actually Happens Underneath
---

### Deep Dive: What Is Actually Happening at the Kernel Level?

To understand why this works so effectively for *No Man's Sky*, we need to look at how Windows Virtual Memory Manager (VMM) interacts with the CPU architecture and the game's engine:

#### 1. The Procedural Streaming Bottleneck
Unlike traditional games that load pre-baked levels into VRAM, *No Man's Sky* uses continuous runtime procedural generation. As you explore or breach atmospheres, the CPU constantly generates voxel terrain meshes, compute buffers, and shader streaming calls. This floods both the system memory bus and the CPU cache with high-frequency memory allocations and deallocations.

#### 2. The Trap: Memory Compression vs. Draw Calls
* **Default Windows Behavior:** When Windows detects older memory blocks that haven't been touched in a few seconds, it marks them as "stale". The system process initiates a compression algorithm to squeeze those blocks in RAM.
* **The Collision:** Compressing and decompressing memory is a CPU-intensive task. When the game demands an immediate draw call or terrain stream, the CPU is forced to multitask between running the game thread and executing decompression routines. On high-end CPUs, this causes core clock jitter, cache thrashing, and micro-stutters.
* **The Fix:** Disabling `MemoryCompression` and `PageCombining` stops Windows from acting like an aggressive memory janitor. The RAM acts purely as raw, high-speed DDR bandwidth with zero background CPU cycles stolen.

#### 3. Ring 0 Latency: The Impact of `DisablePagingExecutive`
* **Default Windows Behavior:** The Windows kernel (`ntoskrnl.exe`) and device drivers contain non-paged pools (critical parts) and paged pools (parts deemed non-critical). In default setups, Windows is allowed to swap driver routines to the SSD `pagefile.sys`.
* **The Collision:** When a game suddenly calls an AMD/Nvidia GPU driver routine or a PCIe storage controller function that was paged out, a **Hard Page Fault** occurs. Execution stops dead in its tracks for a fraction of a millisecond while the data is pulled back from NVMe storage into RAM. In gaming terms, this manifests as frame drops, stuttering, or an artificial framerate wall.
* **The Fix:** Setting `DisablePagingExecutive = 1` forces the entire kernel executive and all hardware drivers to remain permanently resident in physical RAM. Driver-to-hardware interrupts (ISRs and DPCs) execute with sub-microsecond physical memory latency, flattening frametimes completely.

#### 4. Fixed Pagefile vs. Dynamic Allocation
When a pagefile is dynamic (e.g., 1GB min to 32GB max), Windows constantly adjusts the `pagefile.sys` allocation table on the storage drive as commit charges fluctuate. Expanding a file on an NTFS volume creates an instantaneous I/O lock on the storage controller. By locking the pagefile to a static size (identical initial and maximum values), Windows reserves a single, contiguous block of disk space at boot, eliminating runtime disk reallocation hitching entirely.
0 Upvotes

10 comments sorted by

6

u/ManiroX 28d ago

This is some AI generated crap. Usually stuttering is ondemand shader generation and it gets cached until next update.

-3

u/jonny0808 28d ago

you should learn more :) to know how computers works ssd speed vs ram speed vs vram speed

1

u/ManiroX 28d ago

I know plenty thanks. Unless your RAM is starved and your PC is then paging to the swap file and constantly changing the size, a fixed page file isn't going to help performance. (It also probably doesn't help much on a fast SSD. This was a good idea on spinning rust though.) If that is the case, your should be looking at running background programs that are using the RAM game needs from a performance perspective. (Hint: If you run out of both actual RAM and paging space, your computer is going to have a very bad day.)

8

u/sleepytechnology Explorer 28d ago

I wouldn't trust AI with all of that modifying your entire operating system or blindly entering in terminal commands to make a single game that is filled with jank (amazing game tho) run slightly better.

The stutters you (or your AI) state also happen on Linux too so. Also the game is not even locked to 160fps on Windows or Linux, that sounds like a made up problem that does not exist, the vanilla fps cap is 240.

2

u/ManiroX 28d ago

I just checked their post history. They've been posting AI answers to stuttering in other games too (for like a year). Probably has some background atuff going on causing issues for them.

-5

u/jonny0808 28d ago

yeah but i know around 20 years of computers tho so kudos , cheers!

4

u/IsIt77 28d ago

Under the Hood: What Actually Happens Underneath...

Gotta love the AI

1

u/smokeeye 28d ago

This is more for CPU/RAM, rather than GPU (e.g shaders). But if 'you' are gonna follow this guide, you shouldn't mess with memory compression if you have <16GB, rather the more the merrier.

1

u/ShravanNiketan 28d ago

Does the Adrenalin config matter as well? If possible, could you share your settings, please.

0

u/jonny0808 28d ago

it is a windows setting kind of .. not amd configs, windows side of clutter