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. We measured each tweak on one desktop instead: an Intel Core i9-14900F with a Radeon RX 7800 XT on Windows 11. Core parking had nothing to switch off there, because stock Windows never parked a core. 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 waits for your Y before it removes anything.

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 changes one documented setting and tells you how to put it back.

MSI Mode Utility

undo file

Shows which PCI devices use message signaled interrupts (MSI) and switches the rest on. Devices on a shared legacy line make Windows run every driver's interrupt routine for each other's interrupts, and MSI gives each device its own. The GPU, USB, network and audio controllers are listed first.

What we measured

Two audio controllers on one shared line ran their routine 1.9 times per interrupt, and 1.0 after the switch. Our GPU was already in MSI mode, and forcing it back to a legacy line changed nothing measurable. Frame times did not move either way.

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 dual-CCD X3D Ryzen it warns you first.

What we measured

With parking forced on our i9-14900F, the worst frame in a 144 Hz simulation hit 17.3 ms and multithreaded 7-Zip lost 59%. After the script it was 5.4 ms and full speed. Stock Windows 11 never parked a core on that PC, so check yours first.

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 before anything goes.

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.

After the reboot, 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. 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. We used it when LatencyMon wouldn't run with Memory Integrity on.

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, not the average. Forced core parking cost us tail latency, not average speed, and MSI mode on a GPU that already used it changed nothing.
How do I undo a tweak?
Each script keeps its own undo. CPU Parking Disabler and Timer Resolution Utility take -Undo. 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 waits for you to confirm.
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 and Interrupt Affinity Utility show the current mode of every device, 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 major Windows updates sometimes reset the Game DVR values. Rerun the check after a big update. Each script shows the current state in seconds.
Why won't LatencyMon run on my PC?
On our test PC, Memory Integrity blocked LatencyMon's kernel driver. The msi-bench.ps1 script in the MSI Mode Utility repo gets per-driver interrupt and DPC times from the NT Kernel Logger that ships with Windows, with nothing to install.
Should I disable core parking on a Ryzen X3D CPU?
Probably not. On dual-CCD X3D chips such as the 7950X3D, AMD parks the cores without the extra cache during games on purpose, so the game stays on the cache cores. Unparking every core undoes that.
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. Install it from the PowerShell Gallery, paste the one-line command, or download the ZIP and double-click Run.bat. It asks for admin rights through the usual Windows prompt.