Skip to content

Catalog revision 1

Every change Nyx can make

All 47 of them, with the actual mechanism and the actual cost. This page is public and unauthenticated on purpose: you should be able to read exactly what a tool intends to do to your registry before you install it, let alone pay for it.

The registry paths and command arguments are not published here — those are served to the client as a signed bundle. The description of what each one does is complete.

How they are graded

Four tiers, by what they cost you

The tier is not a marketing ladder. It is how much a change takes back in exchange for what it gives, and the API enforces it — a free client is not sent the aggressive actions at all.

safe

18changes

No downside worth mentioning. Included in every plan.

balanced

21changes

A small, named cost for a real latency or jitter reduction.

aggressive

5changes

Costs you something measurable — slower downloads, more heat, more CPU.

experimental

3changes

We cannot promise it helps you. Measure before and after.

Profiles

One-click sets

A profile is a named group of these changes. Game-specific profiles leave out the ones that do not apply — there is no point tuning the TCP delayed-ACK behaviour for a game that runs on UDP.

Safe Boost

safe

Everything that has no downside worth mentioning. Fixes the two biggest real causes of lag spikes on a stock Windows install — peer-to-peer update seeding and adapter power management — plus the MMCSS network throttle. Reversible, no reboot needed for most of it. This is the free tier and it is genuinely the largest single win for most people.

16 changes

Latency Core

balancedrecommended

The recommended profile. Adds the tweaks that trade a small, named cost for a real latency or jitter reduction: no interrupt batching, no receive coalescing, immediate ACKs, path MTU discovery, fastest resolver, short scheduler quantum and a 0.5 ms timer. Leaves the buffer-shrinking and always-100%-clock tweaks alone so downloads and temperatures stay normal.

39 changes

Competitive

aggressive

Latency Core plus the tweaks that cost you something measurable: tighter Winsock buffers (slower large downloads), deeper NIC rings, no large-send offload (more CPU on upload), and a CPU that never downclocks (more heat and power). Use it when you are playing ranked and nothing else is running.

43 changes

Bare Metal

experimental

Everything, including the experiments we cannot promise will help you: CTCP congestion control, hardware GPU scheduling, and a Winsock catalog reset. Read each warning. Nyx measures before and after and will tell you plainly if a tweak made your connection worse.

46 changes

FiveM / RedM

balancedrecommended

Built around the fact that FiveM is high-rate UDP. Kills every receive-side coalescing feature, removes interrupt batching and flow control, and prioritises the GTA process — which is the one that owns the network thread, not the launcher. Skips the TCP-only tweaks entirely.

27 changes

Minecraft: Java

balancedrecommended

Java Edition is TCP, so this profile goes after the delayed-ACK and Nagle interaction that stalls small packets, plus faster loss recovery so a dropped packet is a hitch instead of a freeze. Adds the MTU probe because fragmentation is a common cause of "random disconnects" on PPPoE lines.

25 changes

Minecraft: Bedrock

balancedrecommended

Bedrock runs on RakNet over UDP. Receive offloads are the whole story here, so this profile removes them and leaves the TCP stack alone.

19 changes

Wi-Fi Rescue

balanced

For players who cannot run a cable. Removes the tweaks that only apply to Ethernet and keeps the ones that help on wireless: no adapter power saving, no NetBIOS broadcasts, correct MTU, and a short scheduler quantum. Be honest with yourself though — on Wi-Fi the airtime is the bottleneck, and the route report will tell you how much of your ping is the first hop.

25 changes

10 changes

TCP stack

Immediate TCP acknowledgements

Stop Windows from holding back ACKs for up to 200 ms.

balanced

Mechanism

Windows implements delayed ACK (RFC 1122): instead of acknowledging every segment it waits up to 200 ms hoping to piggyback the ACK on outgoing data or to cover a second segment. A game sends small packets continuously, so there is rarely anything to piggyback on, and the server sits waiting for an acknowledgement it could have had immediately. TcpAckFrequency=1 acknowledges every segment as it arrives.

What it costs

  • Sends roughly twice as many small upstream packets. Irrelevant on any modern connection, but measurable on a saturated uplink.
Vendor reference

Expected effect

Ping2/3
Jitter2/3

2 actions

minecraft-java, generic

Disable Nagle's algorithm (stack level)

Send small packets the moment the game produces them.

balanced

Mechanism

Nagle's algorithm holds a small outbound segment until the previous one has been acknowledged, so it can coalesce several writes into one full-size packet. Combined with delayed ACK on the other side this produces the classic 200 ms stall. Most games set TCP_NODELAY on their own sockets, but TCPNoDelay=1 guarantees it for the interface regardless of what the application asked for.

What it costs

  • Slightly less efficient packing for applications that write in tiny chunks. Harmless for games, mildly wasteful for bulk transfers over the same interface.

Expected effect

Ping2/3
Jitter2/3

1 action

minecraft-java, generic

Faster loss recovery

Detect and resend a lost packet sooner instead of waiting out a long timeout.

balancedneeds reboot

Mechanism

When a TCP segment is lost and there is no duplicate ACK to trigger fast retransmit, the sender waits for the retransmission timeout before trying again. Windows starts that timer at 3000 ms and retries up to 5 times. For a game that is a visible freeze. Lowering the initial RTO to 2000 ms and the retry count to 3 turns a multi-second stall into a short hitch, and makes a genuinely dead connection fail fast instead of hanging.

What it costs

  • On a connection with real round-trip times above ~1500 ms (satellite, some mobile tethering) a 2000 ms initial RTO can cause spurious retransmits. Nyx skips this tweak automatically when the measured baseline RTT is above 400 ms.

Expected effect

Ping1/3
Jitter2/3
Loss1/3

4 actions

minecraft-java, generic

Disable Receive Segment Coalescing

Deliver incoming packets immediately instead of merging them first.

balanced

Mechanism

RSC lets the NIC or the stack merge several incoming TCP segments into one larger buffer before handing it up, which cuts per-packet CPU cost substantially on a busy server. To merge, it has to wait for the next segment. That wait is pure added latency and, worse, it is variable — which is jitter. On a gaming desktop the CPU saving is irrelevant and the wait is not.

What it costs

  • Measurably more CPU time in the network path at very high throughput (multi-gigabit). Not noticeable while gaming.

Expected effect

Ping2/3
Jitter2/3
CPU cost1/3

3 actions

all games

Tighten Winsock buffers

Smaller socket buffers so a packet is handed to the game sooner.

aggressiveneeds reboot

Mechanism

AFD is the kernel driver behind every Winsock socket. Its default send and receive windows are sized for throughput, which means data can sit in a kernel buffer while the stack decides whether more is coming. Reducing the windows to 16 KB and setting FastSendDatagramThreshold to 1500 routes anything MTU-sized or smaller — every game packet — down the fast path, and clearing IgnorePushBitOnReceives makes the stack honour the sender's PSH flag and deliver immediately.

What it costs

  • Smaller buffers can cut single-stream download throughput on very fast connections (500 Mbit/s and up). If you also use this PC for large downloads, prefer the Latency Core preset, which leaves this off.

Expected effect

Ping2/3
Jitter1/3
CPU cost1/3

5 actions

all games

TCP/IP stack baseline

Window scaling and selective ACK on, timestamps off, sane port and TTL limits.

safeneeds reboot

Mechanism

Four separate things. Tcp1323Opts=1 enables RFC 1323 window scaling (needed for any throughput over a long path) while leaving timestamps off, saving 12 bytes of option space in every single segment. SackOpts=1 enables selective acknowledgement so one lost packet does not force a retransmit of everything after it. TcpTimedWaitDelay=30 releases closed sockets after 30 s instead of 240 s, and MaxUserPort=65534 widens the ephemeral range — together they stop port exhaustion on a machine that opens a lot of connections. DefaultTTL=64 is the Linux/BSD value and avoids the rare middlebox that treats 128 as suspicious.

Expected effect

Ping1/3
Loss1/3
Speed2/3

6 actions

all games

Disable non-SACK RTT resiliency

Remove a compatibility workaround that delays recovery on modern paths.

aggressive

Mechanism

When the peer does not support selective acknowledgement, Windows applies a resiliency heuristic that holds back on retransmitting to avoid flooding a path it cannot measure well. Every server a game client talks to supports SACK, so the heuristic only ever fires on a misread and when it does it lengthens recovery.

What it costs

  • No effect at all on a path whose peer supports SACK — which is nearly all of them.

Expected effect

Jitter1/3
Loss1/3

1 action

all games

Switch congestion control to CTCP

Experimental. Different ramp-up behaviour after loss.

experimental

Mechanism

Windows 11 defaults to CUBIC, which is the same algorithm Linux uses and is a sensible default. Compound TCP grows the window using a delay signal as well as loss, which on some high-latency paths recovers throughput faster after a drop. Honest assessment: this changes bulk transfer behaviour far more than it changes game latency, the effect is path-dependent, and on a short low-latency route it does nothing. It is here because it is measurably useful on long international routes, and it is marked experimental because for most people it will not move a single millisecond.

What it costs

  • Can reduce throughput on a short, fast path where CUBIC is already optimal. Measure before and after; revert if it does not help you.

Expected effect

Jitter1/3
Loss1/3
Speed1/3

1 action

all games

Repair receive-window autotuning

Put window autotuning back to `normal` — the setting most "optimiser" guides break.

safe

Mechanism

This tweak exists to undo damage, not to add anything. Windows sizes the TCP receive window dynamically based on the measured bandwidth-delay product. A very popular piece of advice is to set autotuninglevel=disabled or highlyrestricted, which pins the window to 64 KB and caps throughput at roughly 64KB/RTT — about 5 Mbit/s on a 100 ms path. It does nothing for latency and it wrecks downloads. Nyx sets it back to `normal` and additionally disables the scaling heuristics, which can silently clamp the window based on past observations of a different network.

Expected effect

Speed3/3

2 actions

all games

Drop TCP timestamps

Reclaim 12 bytes of option space in every segment.

balanced

Mechanism

RFC 1323 timestamps let a sender measure RTT precisely and protect against wrapped sequence numbers on very fast long paths. They cost 12 bytes of TCP option space per segment. Neither property matters for a game on a consumer link, so the bytes are better spent on payload. This is small — one or two percent of header overhead, not a ping fix.

What it costs

  • Without timestamps the stack estimates RTT from ACK arrival alone, which is slightly less accurate and can make congestion control a little slower to adapt on a lossy path.
  • Drops PAWS protection against wrapped sequence numbers. Only reachable on multi-gigabit long-haul links, not on anything you game over.

Expected effect

Speed1/3

1 action

all games

1 changes

UDP stack

Disable UDP Receive Offload

The single biggest latency win for FiveM and Bedrock.

balanced

Mechanism

URO is RSC for UDP, introduced in Windows 11. The stack coalesces multiple inbound datagrams into one indication to save CPU. FiveM state sync and Minecraft Bedrock RakNet are high-rate UDP: coalescing means a datagram that arrived on time sits in a buffer waiting for a sibling that may be 5-10 ms behind it. Every datagram in the batch is then delivered late, and the delay varies with traffic rate — which is exactly the profile of jitter players describe as rubber-banding.

What it costs

  • Slightly more CPU per datagram. Negligible at game traffic rates.

Expected effect

Ping3/3
Jitter3/3
CPU cost1/3

1 action

fivem, redm, minecraft-bedrock, generic

13 changes

Network adapter

Stop Windows powering down the adapter

Clear "allow the computer to turn off this device to save power".

safe

Mechanism

PnPCapabilities is the bitfield behind the power checkboxes on the adapter's Power Management tab. Bit 3 (value 8) disables "allow the computer to turn off this device", bit 4 (16) disables wake-on-LAN management; 24 sets both. With power management on, the adapter can be suspended during an idle moment and the resume shows up as a one-to-several-second stall — the classic "my internet drops for a second every few minutes".

What it costs

  • Wake-on-LAN stops working. If you wake this PC remotely, skip this one.
  • A watt or two more at idle, and on a laptop a slightly shorter battery life.

Expected effect

Ping1/3
Jitter3/3
Loss2/3

4 actions

all games

Disable interrupt moderation

The NIC raises an interrupt per packet instead of batching them.

balanced

Mechanism

By default a NIC waits a short interval, or until a few packets have arrived, before interrupting the CPU — one interrupt for many packets instead of one each. That saves a lot of CPU on a server pushing millions of packets per second. On a desktop receiving a few hundred game packets per second it means each packet waits for the moderation timer, typically 10-100 microseconds but driver-dependent and load-dependent. Disabling it gives the shortest, most consistent delivery path at the cost of more interrupts.

What it costs

  • Noticeably more CPU time in interrupt context under heavy download. On a 4-core or older CPU this can cost a few frames per second while downloading.
  • Some Killer and Realtek drivers ignore the keyword entirely. Nyx reports which cards accepted it rather than claiming success blindly.

Expected effect

Ping2/3
Jitter3/3
CPU cost2/3

3 actions

all games

Find and set the real path MTU

Size packets so nothing on the route has to fragment them.

balanced

Mechanism

Nyx binary-searches the largest ICMP payload that reaches the game server with the Don't-Fragment bit set, then sets the interface MTU to that plus 28 bytes of headers. Why it matters: if your MTU is larger than some link on the path — very common on PPPoE, where the real limit is 1492, and on any VPN or tunnel — routers either fragment your packets or drop them. A fragmented packet is lost entirely if any one fragment is lost, so a 0.5% loss rate becomes a 1% stall rate. If path MTU discovery is blocked by a firewall that eats ICMP, which is common, the connection instead hangs on large packets with no error at all.

What it costs

  • Needs ICMP to work for the probe. Where it is filtered, Nyx says so and leaves the MTU alone rather than guessing.
  • A VPN that changes its overhead later will need this re-run.

Expected effect

Ping1/3
Jitter1/3
Loss3/3
Speed2/3

1 action

all games

Disable 802.3x flow control

Stop the link from pausing entirely when a buffer fills.

balanced

Mechanism

Ethernet flow control lets a device whose receive buffer is filling send a PAUSE frame telling the other end to stop transmitting for a period. It prevents drops — by stalling the whole link, all traffic, including the game. A dropped packet costs one retransmit; a PAUSE frame costs every packet queued behind it. Modern TCP recovers from loss far more gracefully than a game recovers from a link freeze.

What it costs

  • If your switch relies on flow control (rare outside datacentre gear) you may see a small increase in packet loss instead of pauses.

Expected effect

Ping1/3
Jitter3/3

1 action

all games

Enable Receive Side Scaling

Spread network processing across cores instead of pinning it to CPU 0.

safe

Mechanism

Without RSS every received packet is processed on a single CPU, almost always CPU 0 — the same core Windows loads with timers and other driver work. When that core is busy, packets queue behind whatever it is doing, which shows up as jitter that has nothing to do with your connection. RSS hashes each flow to one of several queues and spreads them across cores. This is on by default on most hardware; Nyx sets it because a surprising number of "optimiser" scripts turn it off.

Expected effect

Ping1/3
Jitter2/3
Loss1/3
Speed2/3

2 actions

all games

Reset the Winsock catalog order

Experimental. Removes third-party layers from the socket path.

experimentalneeds reboot

Mechanism

Antivirus suites, old VPN clients and "gaming network" utilities install Layered Service Providers that sit in the Winsock chain and see every packet. A dead or buggy one adds latency to every socket operation and is a classic cause of unexplained lag that survives every other tweak. This re-registers the catalog in its default order.

What it costs

  • Read this before enabling it. Resetting the catalog can break a VPN client, a corporate network filter or an antivirus web shield until you reinstall it. Nyx exports the current catalog to your snapshot first, but reinstalling the affected software is sometimes the only clean fix. Requires a reboot.

Expected effect

Ping2/3
Jitter2/3
Speed1/3

1 action

all games

Disable Energy Efficient Ethernet

Keep the PHY awake instead of sleeping between packets.

balanced

Mechanism

IEEE 802.3az puts the physical layer into Low Power Idle whenever the link is quiet, and wakes it when a packet needs to move. Wake-up takes tens of microseconds, and because game traffic is bursty the PHY sleeps constantly — so a large share of packets pay the wake penalty. The variance is the problem more than the absolute cost. Realtek, Intel and Killer each spell the keyword differently, so Nyx writes all the known variants and skips the ones the driver does not expose.

What it costs

  • A fraction of a watt more power draw at the port. That is the whole cost.

Expected effect

Ping1/3
Jitter2/3

7 actions

all games

Enlarge NIC ring buffers

Absorb a burst instead of dropping it.

aggressive

Mechanism

The receive and transmit rings are the small arrays of descriptors the NIC uses to hand packets to the driver. If a burst arrives while the CPU is briefly busy and the ring is full, those packets are dropped at the hardware — invisible to any software counter you would normally look at. Raising the rings to 512 gives roughly four times the headroom. This is a trade: a deeper queue means a packet at the back waits longer, so Nyx uses 512 rather than the maximum.

What it costs

  • Deeper queues add latency under sustained saturation — the bufferbloat trade-off. Do not raise these further than Nyx does.
  • Uses a little more non-paged kernel memory.

Expected effect

Jitter1/3
Loss2/3
Speed1/3

2 actions

all games

Force standard frame size

Make sure jumbo frames are off so nothing gets fragmented.

safe

Mechanism

A jumbo frame is larger than the 1500-byte Ethernet MTU. It helps only if every device on the path supports it, which no path to a game server does. If it is enabled locally, oversized packets either get fragmented — doubling the chance that a single loss destroys the whole payload — or silently dropped by the first hop that will not forward them.

What it costs

  • If you deliberately run jumbo frames on a local NAS, skip this.

Expected effect

Jitter1/3
Loss2/3

1 action

all games

Disable Large Send Offload

Stop the NIC from building giant upstream bursts.

aggressive

Mechanism

LSO lets the stack hand the NIC a buffer far larger than one packet and have the hardware split it. It cuts CPU on uploads. The side effect is that your game packet can end up queued behind a 64 KB burst the NIC is still segmenting — a few milliseconds of head-of-line blocking on the transmit path, which matters while you are also uploading anything.

What it costs

  • Upload throughput drops and CPU use rises on large uploads. Only worth it if you stream or upload while playing.

Expected effect

Ping1/3
Jitter2/3
CPU cost2/3

2 actions

all games

Keep checksum offload enabled

Another repair: offloading checksums to the NIC is free latency.

safe

Mechanism

Computing a TCP/UDP checksum in software costs CPU cycles on the critical path of every packet. Every NIC made this century does it in hardware at zero latency cost. Disabling checksum offload is near the top of every bad tweak list and it is strictly worse — more CPU, no benefit. Nyx sets the keywords back to 3 (RX and TX enabled).

Expected effect

Ping1/3
Jitter1/3
Speed1/3

5 actions

all games

Disable NetBIOS over TCP/IP

Remove legacy name-resolution broadcasts from the link.

balancedneeds reboot

Mechanism

NetBIOS name resolution broadcasts to the whole subnet whenever a name cannot be resolved by DNS, and answers everyone else's broadcasts too. Nothing a game does needs it. Setting NetbiosOptions=2 per interface turns it off and removes that chatter, which matters most on Wi-Fi where every broadcast is sent at the lowest common data rate and occupies the air for everybody.

What it costs

  • Breaks browsing very old network shares by name (pre-2008 NAS boxes, some printers). Access by IP address still works.

Expected effect

Jitter1/3

1 action

all games

Prefer IPv4 over IPv6

Change the prefix policy order without disabling IPv6.

balancedneeds reboot

Mechanism

Most game servers are IPv4-only. When IPv6 is preferred, Windows tries an IPv6 route first and falls back after a timeout, which adds dead time to connect and reconnect. DisabledComponents=0x20 changes only the prefix policy so IPv4 is tried first — IPv6 stays fully functional. Nyx deliberately does not use 0xFF (disable IPv6 entirely), which breaks Xbox networking, Teredo, some Discord voice paths and an increasing number of CGNAT setups.

What it costs

  • If your ISP is IPv6-only or uses DS-Lite, preferring IPv4 can route you through their translation layer and add latency. Nyx checks for a working IPv4 route first and skips the tweak when there is none.

Expected effect

Ping1/3

1 action

all games

2 changes

Traffic priority

Tag game traffic as high priority

DSCP-mark the game's packets so your own router can prioritise them.

balanced

Mechanism

Creates a Windows QoS policy that stamps DSCP 46 (Expedited Forwarding) on outbound packets for the selected game's ports and gives them throughput priority in the local scheduler. Honest limits: the local scheduling part always works, so a game packet jumps the queue ahead of a Windows Update upload on your own machine. The DSCP marking only helps beyond your network if your router honours it and your ISP does not clear it — most consumer ISPs clear it at the edge. Worth doing, not magic.

What it costs

  • A handful of ISPs deprioritise traffic they see marked EF. If your ping gets worse right after enabling this, that is the cause — revert just this tweak.

Expected effect

Ping1/3
Jitter2/3
Loss1/3

2 actions

all games

Release the QoS bandwidth reservation

Set the reservable share to zero.

safeneeds reboot

Mechanism

The QoS Packet Scheduler can reserve up to 20% of link bandwidth for applications that explicitly request a reservation. Honest caveat: on a normal machine nothing requests one, so this is usually already zero in practice and you should not expect a ping change. Nyx sets NonBestEffortLimit=0 because it costs nothing and removes the question entirely — not because it is the ping fix the internet claims it is.

Expected effect

Speed1/3

1 action

all games

3 changes

DNS

Stop caching DNS failures

Retry immediately after a failed lookup instead of waiting out a negative cache.

safe

Mechanism

Windows caches negative DNS answers for 15 minutes by default. When a lookup fails transiently — which happens on reconnect, on Wi-Fi roaming, or when an ISP resolver hiccups — every retry for the next quarter of an hour fails instantly from cache without ever touching the network. Setting the negative TTLs to zero makes each attempt a real attempt; raising the positive cache TTL to a day keeps successful lookups local. This does not touch in-game ping: what it removes is the dead time between clicking reconnect and actually reconnecting.

What it costs

  • Marginally more DNS queries. A long positive TTL can keep a stale address around after a server moves; Nyx flushes the cache whenever it runs.

Expected effect

Ping1/3

5 actions

all games

Pick the fastest DNS resolver

Faster server lists and joins. Does not change in-game ping.

safe

Mechanism

Nyx races Cloudflare, Google, Quad9, AdGuard and your current resolver with real queries and sets the fastest pair on the active adapter. Read this part carefully, because every competitor lies about it: DNS resolves a hostname to an address before you connect. It has zero effect on your ping once you are in a game. What it does affect is how fast the FiveM server list loads, how quickly a Minecraft server address resolves when you click join, and whether a slow ISP resolver adds a second of dead time to every reconnect.

What it costs

  • A public resolver sees which hostnames you look up. Cloudflare and Quad9 publish no-logging policies; your ISP generally does not.
  • Some ISP-provided services (captive portals, IPTV boxes) depend on the ISP resolver. Nyx keeps your original servers in the snapshot so this is one click to undo.

Expected effect

2 actions

all games

Flush network caches

Clear DNS, ARP and NetBIOS caches now.

safe

Mechanism

Not an optimisation — maintenance. Clears stale entries that can point you at a dead server address or an old gateway MAC. Nyx runs this after any DNS or MTU change so the next connection starts clean. Nothing to undo.

Expected effect

1 action

all games

5 changes

CPU scheduling

Remove the multimedia network throttle

Lift the 10-packets-per-millisecond cap MMCSS applies.

safeneeds reboot

Mechanism

When any process registers a multimedia thread with MMCSS — which includes most games, Discord voice and every browser playing audio — Windows throttles non-multimedia network traffic to roughly 10 packets per millisecond so the audio path cannot be starved. It is a reasonable default for a media PC and an active handicap for a game, because the game's own network traffic is not what MMCSS considers multimedia. Setting the index to 0xFFFFFFFF disables the throttle.

What it costs

  • On a very weak CPU, heavy network load can now compete with audio processing. If you get audio crackle under load, revert this one.
Vendor reference

Expected effect

Ping2/3
Jitter2/3
Loss1/3
Speed2/3

1 action

all games

Raise the system timer resolution

Wake sleeping threads on a 0.5 ms tick instead of a 15.6 ms one.

balancedneeds reboot

Mechanism

Windows' default timer tick is 15.6 ms. A thread that sleeps waiting for the next frame or the next network poll can therefore wake up to 15.6 ms late. Nyx calls NtSetTimerResolution to request 0.5 ms and holds that request for as long as it runs. There is a catch nobody mentions: since Windows 10 2004, a timer resolution request only applies to the requesting process unless the global policy is set, so the registry value here is what makes it apply to the game too.

What it costs

  • A higher timer frequency means more timer interrupts, which costs a small amount of CPU and measurably more power. On a laptop this shortens battery life.
  • Nyx must stay running for the 0.5 ms request to be held. When it exits, Windows returns to its default.

Expected effect

Ping2/3
Jitter2/3
CPU cost1/3

2 actions

all games

Shrink the background CPU reservation

Give the game 90% of the scheduler instead of 80%.

balancedneeds reboot

Mechanism

SystemResponsiveness is the percentage of CPU time MMCSS guarantees to low-priority background work. The default is 20. Lowering it to 10 hands that time to foreground threads, which shortens the worst-case wait before the game thread runs after a packet arrives. Nyx uses 10 rather than 0 deliberately: at 0 the MMCSS audio threads can be starved on a loaded system, which is where the "set it to zero" advice gets people audio stutter and blames it on something else.

What it costs

  • Background tasks (indexing, antivirus scans, compiling) get less CPU and take longer while a game is running.

Expected effect

Ping1/3
Jitter2/3

1 action

all games

Raise the MMCSS Games task priority

Tell the scheduler that game threads matter.

safeneeds reboot

Mechanism

MMCSS keeps a profile per task category. The Games category controls the priority, GPU priority and scheduled I/O priority of any thread a game registers under it. The defaults are conservative. Raising Priority to 6, GPU Priority to 8 and both scheduling categories to High means the game thread gets picked sooner after an interrupt, and its I/O is not queued behind background disk work. Clock Rate 10000 asks for a 1 ms scheduling granularity for those threads.

Expected effect

Ping1/3
Jitter2/3

6 actions

all games

Short quantum with foreground boost

Switch between threads more often and favour the window you are using.

balancedneeds reboot

Mechanism

Win32PrioritySeparation packs three settings into one value: quantum length, whether it is fixed or variable, and how much extra quantum a foreground thread gets. The desktop default (2) is a long, variable quantum with a 3:1 foreground ratio — tuned so a background compile does not get starved. The value 38 (0x26) selects a short variable quantum with the same 3:1 boost: threads are preempted more often, so the game thread never waits a full long quantum behind something else. The trade is more context switches.

What it costs

  • More context switches means a little more scheduler overhead. On a 4-thread CPU this can be a wash; Nyx measures before and after so you can tell.

Expected effect

Ping1/3
Jitter2/3
CPU cost1/3

1 action

all games

4 changes

Power management

High performance power plan

Stop the CPU dropping to low clocks between frames.

safe

Mechanism

On the Balanced plan Windows lowers the CPU multiplier whenever load drops, and raising it back takes tens of microseconds to a few milliseconds depending on the platform. A game loop is bursty — idle, spike, idle — so the governor is constantly guessing wrong and the spike runs at a low clock before it ramps. High performance holds the clock up. Nyx records your current plan GUID before switching so the restore puts you back exactly where you were.

What it costs

  • More heat, more fan noise, more power. On a laptop on battery this is a significant hit — Nyx applies it to the AC profile only.

Expected effect

Ping2/3
Jitter2/3
CPU cost3/3

1 action

all games

Pin the minimum CPU state to 100%

Aggressive. No clock ramping at all, ever.

aggressive

Mechanism

Sets the processor's minimum performance state to 100% on AC power, so the CPU never drops below its base clock. This removes frequency ramp latency entirely rather than shortening it. It is genuinely effective and genuinely expensive: the CPU runs at full clock while you read a web page.

What it costs

  • Substantially more heat and power at idle. On a laptop or a small-form-factor PC with marginal cooling this can push you into thermal throttling, which makes performance *worse*.
  • Shortens the life of a hot-running CPU cooler and raises your electricity bill by a measurable amount if the PC is on all day.

Expected effect

Ping2/3
Jitter2/3
CPU cost3/3

2 actions

all games

Disable PCIe link power management

Keep the PCIe link to the NIC out of its low-power states.

balanced

Mechanism

PCIe Active State Power Management lets the link between the chipset and a device drop into L0s or L1 when idle. Coming back out of L1 takes a few microseconds, and the NIC is the one device where that happens on the arrival path of every packet after a quiet moment. Setting ASPM off for the AC profile keeps the link at L0.

What it costs

  • A couple of watts of extra idle draw. On a laptop, shorter battery life.

Expected effect

Ping1/3
Jitter2/3
CPU cost1/3

2 actions

all games

Disable USB selective suspend

For USB network adapters and USB peripherals that stall on wake.

balanced

Mechanism

Windows suspends an idle USB device to save power. For a USB Ethernet or Wi-Fi adapter the resume adds latency to the first packet after any gap; for a mouse or keyboard it shows up as the first input after a pause being late. Turning selective suspend off on the AC profile removes both.

What it costs

  • Slightly more idle power draw across all USB devices.

Expected effect

Ping1/3
Jitter1/3

2 actions

all games

1 changes

Memory

Keep kernel code in RAM

Stop drivers being paged out to disk.

balancedneeds reboot

Mechanism

By default Windows may page out parts of the kernel and driver code that have not been touched recently. If the network driver's receive path gets paged out while you are in a menu, the next packet triggers a disk read before it can be processed. DisablePagingExecutive=1 keeps it all resident. On a machine with 16 GB this costs a few hundred megabytes of RAM you were not using anyway.

What it costs

  • Uses more physical RAM. Nyx skips this automatically on machines with 8 GB or less, where the memory is better spent on the game.

Expected effect

Ping1/3
Jitter2/3

2 actions

all games

4 changes

Background traffic

Stop Windows Update seeding to other PCs

The most common real cause of mid-game lag spikes.

safe

Mechanism

Delivery Optimization turns your PC into a peer that uploads Windows and Store updates to other machines on the internet. It saturates a consumer uplink with no regard for what else is running, and a saturated uplink delays your outbound game packets by however deep the modem queue is — often 100-500 ms. This is not a micro-optimisation: it is usually the single largest avoidable source of lag spikes on a Windows gaming PC. Mode 0 restricts it to direct HTTP download only.

What it costs

  • Updates download a little slower on a network with many Windows PCs, since they can no longer share between themselves.

Expected effect

Ping3/3
Jitter3/3
Loss2/3
Speed3/3

2 actions

all games

Stop background Store apps using the link

Keep UWP apps from polling the network while you play.

safe

Mechanism

Store apps keep running background tasks that poll for mail, news, weather and updates on a timer. Each one is tiny, but they fire unpredictably, and on a connection where the uplink queue is the bottleneck a handful of simultaneous requests is enough to add a visible spike.

What it costs

  • Store apps stop showing live tile updates and may not notify you until you open them. Does not affect normal desktop programs, Discord or browsers.

Expected effect

Ping1/3
Jitter2/3
Speed1/3

2 actions

all games

Disable telemetry scheduled tasks

Stop the tasks that wake up mid-game to upload diagnostics.

balanced

Mechanism

The Customer Experience Improvement Program and Application Experience tasks run on a schedule, read a lot of disk and upload the result. They are small, but they fire without regard for what you are doing, and the disk activity plus the upload is enough to produce a spike. These are diagnostics only — disabling them does not affect Windows Update or security.

What it costs

  • Microsoft stops receiving compatibility telemetry from your machine. No functional impact; some enterprise compatibility fixes are delivered through this channel.

Expected effect

Ping1/3
Jitter2/3
Speed1/3

6 actions

all games

Set Delivery Optimization service to manual

Belt and braces alongside the policy change.

safe

Mechanism

The DODownloadMode policy stops the peer-to-peer behaviour, but the service still starts and holds network state. Setting it to manual start means it only runs when Windows Update actually needs it, so nothing is listening the rest of the time.

What it costs

  • Windows Update may take slightly longer to start a large download.

Expected effect

Ping1/3
Jitter1/3
Speed2/3

1 action

all games

4 changes

Game process

Apply the game process rules

Priority, core affinity and GPU preference for the game you selected.

safe

Mechanism

While the game is running Nyx raises its priority class so the scheduler picks its threads first, and — for the process that actually owns the network thread — keeps it off CPU 0, which on most consumer boards also services the network interrupt. The result is that the thread processing a packet is not competing with the interrupt that delivered it. Nyx deliberately does not offer Realtime priority: it can starve the kernel's own threads and freeze the machine.

What it costs

  • High priority on a weak CPU can make the rest of the desktop feel sluggish while the game runs. The rules are released as soon as the game exits.

Expected effect

Ping1/3
Jitter2/3

1 action

all games

Turn off Game DVR and background recording

Reclaim the GPU time Xbox Game Bar spends recording what you did.

safe

Mechanism

Background recording keeps an encoder running continuously so you can save the last few minutes. That encoder costs GPU time and, more importantly, inserts itself into the present path — which raises frame time variance. Frame time variance is not network latency, but it is indistinguishable from it to a player: both make your shot land late.

What it costs

  • You lose Game Bar clip capture (Win+Alt+R). Screenshots still work.

Expected effect

Ping1/3
Jitter1/3

3 actions

all games

Hardware-accelerated GPU scheduling

Experimental. Helps some setups, hurts others — measure it.

experimentalneeds reboot

Mechanism

HAGS moves GPU queue management from the driver on the CPU to a dedicated processor on the GPU. On paper that removes a CPU hop from every submission. In practice the result depends on your GPU generation, driver version and game: it reliably reduces CPU overhead, and it sometimes increases frame latency because the driver loses the ability to reorder work. Nyx includes it as an experiment with a before/after measurement, not as a recommendation.

What it costs

  • Needs a reboot to take effect and another to revert. A few older driver versions are unstable with it on.

Expected effect

Ping1/3
Jitter1/3

1 action

all games

Disable fullscreen optimizations

Use real exclusive fullscreen instead of a borderless emulation.

balanced

Mechanism

Windows transparently converts exclusive fullscreen into a borderless window composited by the desktop window manager, which makes alt-tab instant. That composition step adds one frame of latency and puts the DWM in your present path. Turning it off restores true exclusive fullscreen for games that ask for it, at the cost of a slower alt-tab.

What it costs

  • Alt-tabbing out of a game becomes slower and can briefly flicker. If you play on multiple monitors and tab out constantly, skip this.

Expected effect

Ping1/3
Jitter1/3

3 actions

all games