Latency Toolbox

Six free, open source PowerShell scripts for the Windows latency tweaks every guide repeats: MSI mode, interrupt affinity, core parking, timer resolution, Game DVR and ghost devices. Each script reads your current state before it changes anything. Each card below says what we measured, and says so plainly when the answer was nothing.

Check first, then change one thing

Most latency guides hand you a list and tell you to apply all of it. Our test desktop is an Intel Core i9-14900F with a Radeon RX 7800 XT on Windows 11, and each card says what we measured on it or that we haven't yet. Stock Windows parked most of its 32 threads at desktop idle, and unparking them didn't lift CS2 above about 770 fps. MSI mode had nothing to switch on for the GPU or the USB controller.

So every script here starts by reading the current state. Change one setting, measure, and undo it if the number doesn't move. Five of the six write an undo file before they touch anything. Remove Hidden Devices has no undo, since a removed entry stays gone until you plug the hardware back in. It lists everything and removes only the entries you pick.

You won't find a script here that disables Windows services, strips telemetry or turns off Memory Integrity. Those change a lot at once, and we haven't measured any of them on our test PC, which runs with Memory Integrity on. Each script here makes one kind of documented change, and all but Remove Hidden Devices can undo it.

MSI Mode Utility

undo file

Shows which PCI devices use message signaled interrupts (MSI) and switches the rest on. On a shared legacy line, Windows tries each driver's interrupt routine in turn until one claims the interrupt, so devices end up running routines for their neighbors. MSI gives each device its own interrupt. By default it lists only GPU, USB, network and audio controllers.

What we measured

Two audio controllers on one shared line ran their routines twice per interrupt. In MSI mode each interrupt ran one, and a GPU-bound load gained 0.6% in average fps and 3% in 1% low frame time, over eight clean reboots per setup. Our GPU and USB controller already ran in MSI mode.

Check that your mouse still reports at its full rate after the reboot.

Interrupt Affinity Utility

undo file

Pins a device's interrupts, the service routine and the deferred call that follows it, to the CPU cores you pick. On hybrid Intel chips it labels each core as a P-core or an E-core, so you can keep a latency-critical device off the E-cores.

What we measured

We confirmed the pin holds. A Realtek 2.5GbE card under a full download serviced its interrupts on whichever core we chose. We haven't measured whether that lowers latency yet.

Pinned the USB controller? Check your mouse report rate afterward.

CPU Parking Disabler

undo file

Stops Windows from parking idle CPU cores and sets the energy preference to maximum performance, on battery as well as on wall power. It prints the parked core count before and after, and on a Ryzen X3D chip with V-Cache on one of two CCDs it asks first.

What we measured

At desktop idle on our i9-14900F, stock Windows 11 kept 29 to 30 of 32 threads parked. With the script, the last thread of a burst after idle woke about 60 times sooner at the median. Game fps didn't follow: CS2 averaged about 770 fps either way, over 8 runs per state.

Compare how steady your frame timing is before and after.

Timer Resolution Utility

undo file

Reads and sets the Windows timer resolution, the tick that Sleep() calls and many frame limiters wait on (15.625 ms by default). It also applies the dynamic tick and platform tick boot options and removes a forced HPET, with a built-in Sleep(1) benchmark to check each change.

What we measured

On a Windows 11 PC, Sleep(1) took 15.2 ms on average at the default resolution and 1.4 ms at the finest one. We haven't tied that to a frame time gain yet.

See whether your frame timing got steadier after the change.

Game DVR and FSO Disabler

undo file

Turns off Game DVR background capture and Fullscreen Optimizations in one run. Game Mode, the Game Bar hotkeys and your encoding settings stay as they are.

What we measured

Not measured yet. The effect lives inside a fullscreen game, and a browser tab can't see into one.

Rule out the display first: confirm the panel runs at its rated refresh rate.

Remove Hidden Devices

no undo

Removes ghost devices from Device Manager: the entries every USB stick, headset and dongle you ever plugged in leaves behind. You see the full list and pick which entries go.

What we measured

Nothing to time. It cleans up Device Manager and makes no latency claim. Removal has no undo, so read the list before you confirm.

Afterward, check that every mouse button still registers.

Measure a tweak yourself

A browser can't see inside Windows, so most of the measuring happens in the scripts. CPU Parking Disabler with -Status prints the parked core count and changes nothing. MSI Mode Utility with -Status shows the interrupt mode each device actually runs in and which devices share a line. Timer Resolution Utility with -Measure times Sleep(1) at the current and the finest resolution. For interrupts, msi-bench.ps1 in the MSI Mode Utility repo traces every interrupt routine and deferred call per driver with the NT Kernel Logger that ships with Windows.

The browser covers the end of the chain. Our polling rate test shows whether your mouse still reports at its full rate, and the refresh rate test shows how steady frames reach your screen. Take one reading before the tweak and one after. If they match, undo it.

FAQ

Do these scripts raise FPS?
Mostly no, and each card says so where it applies. They go after the rare slow frame and the delayed interrupt. Turning core parking off left CS2 at about 770 fps on our test PC.
How do I undo a tweak?
Each script keeps its own undo. CPU Parking Disabler and Timer Resolution Utility take -Undo; if you used the one-line installer, run the copy it saved in your user folder. MSI Mode Utility, Interrupt Affinity Utility and the Game DVR script save a .reg file you double-click, then you reboot (a sign-out is enough for Game DVR). Remove Hidden Devices has no undo, so it lists every entry and removes only the ones you pick.
Do the scripts send any data?
No. There's no telemetry and no usage beacon. The only network request is the one-line installer fetching the script itself from its GitHub release. Nothing about your PC leaves it.
Which one should I run first?
The one whose check finds a problem. CPU Parking Disabler prints the parked core count, MSI Mode Utility shows the interrupt mode of each latency-critical device (-ShowAll lists the rest), Interrupt Affinity Utility shows the affinity policy of the same devices, and Timer Resolution Utility runs a Sleep(1) benchmark. If the check comes back clean, skip that tweak.
Do the tweaks survive Windows and driver updates?
Not always. A clean GPU driver install can put the vendor's MSI setting back, and a Windows update can rewrite the value Windows' own audio driver sets. Rerun the check after a big update. Each script shows the current state in seconds.
Can I measure DPC latency without LatencyMon?
Yes. The msi-bench.ps1 script in the MSI Mode Utility repo reads per-driver interrupt and DPC times from the NT Kernel Logger, which ships with Windows, so you install nothing for those numbers.
Should I disable core parking on a Ryzen X3D CPU?
Probably not. The 7900X3D, 7950X3D, 9900X3D and 9950X3D, and the laptop 7945HX3D and 9955HX3D, carry the extra cache on one of their two CCDs. Once Game Mode turns on for a game, AMD's chipset driver parks the other CCD so the game stays on the cache cores. Unparking every core undoes that. A single-CCD chip like the 9800X3D has no second CCD to park.
Do I need to install anything?
No. Each script is one readable PowerShell file that runs on the PowerShell 5.1 built into Windows 10 and 11. Paste the one-line command, or download the ZIP and double-click Run.bat. In PowerShell 7 you can also install it from the PowerShell Gallery. It asks for admin rights through the usual Windows prompt.