Performance Optimization Progress Report

iRacing Stutter Resolution — May 11–14, 2026

SIMRACER · 7800X3D · RTX 4090 · Triple 2560x1440 240Hz · 164fps cap · 24 capture sessions

Key Improvements

Worst Frame Time
32.10ms
↓ 67%
10.71ms
Spikes >12ms / 5min
2–3 spikes
↓ 100%
0 spikes
Hard Pagefaults
70,000+
↓ 97%
~2,000
NVIDIA Interrupt Fix
CPU 0 dominant
workaround confirmed
CPU 7 via bat

Change Timeline

May 11
Starting point: 164fps cap, C-States disabled, Process Lasso unconfigured. Two stutter types identified via CapFrameX: Type A (GPU burst, prev frame GPU 29–35ms) and Type B (CPU preemption, sim thread stalled 15–27ms).
May 11
Video mem swap high-res cars disabled. Eliminated dynamic car texture streaming causing GPU bursts when cars entered view.
May 11
MSAA 4x→2x, Crowds Off. Reduced GPU draw call load at complex corners. Partially resolved Type A spikes.
May 11
app.ini — carPreloadAll=1, trackTexturePreload=1, streamingTextureSize=256. Reduces mid-session asset streaming bursts.
May 12
Refresh rate corrected 120Hz→240Hz. Samsung LS32BG652 supports 240Hz. Running below max caused present timing mismatches with 164fps cap.
May 12
NVIDIA driver updated to 596.49, NVidia Reflex → Off, NVIDIA Control Panel configured: Low Latency Ultra, Power Management Max, Threaded Optimization On, Shader Cache Unlimited.
May 13
AMD Ryzen Balanced power plan created manually. GUID: c584c850-222a-4f65-ae2c-fe6e5b7a0c40. Set in Process Lasso power profile.
May 13
Process Lasso configured: iRacingSim64DX11 High CPU/IO, excluded from ProBalance. CapFrameX and iOverlay excluded from ProBalance. Discord pinned to odd cores at Below Normal priority.
May 13
LatencyMon finding: CPU 0 handling 473,907 ISRs and 43.2s DPC work per 6-minute session. nvlddmkm.sys DPCs up to 1,543µs. iRacing sim thread hardcoded to CPU 0 — NVIDIA interrupts competing directly.
May 13
GeForce Experience uninstalled. nvcontainer.exe adding DirectX hooks and background DPC load.
May 13
Windows Defender exclusions added for iRacing install and Documents\iRacing.
May 13
Background services DISABLED before sessions (wuauserv, UsoSvc, WSearch restart themselves if only stopped). Hard pagefaults dropped from 70,000+ to ~2,000 when properly disabled.
May 13
NVIDIA interrupt affinity root cause: RTX 4090 runs in MSI (not MSI-X) mode. Windows 11 overrides LineBased MSI affinity settings. Three device instances — Windows switches between them on reboot. Registry fix and GoInterruptPolicy both unreliable.
May 13
RTSS (RivaTuner Statistics Server) discovered running as CapFrameX overlay dependency. Caused 49,517–53,904 hard pagefaults per session and elevated dxgkrnl.sys DPCs. Directly responsible for 3 spikes in Cap21.
May 14
RTSS uninstalled. CapFrameX runs without overlay — JSON capture still works. iOverlay confirmed working independently without RTSS.
May 14
Current state: CapFrameX clean — zero spikes, worst 10.71ms (Cap24). LatencyMon shows elevated CPU 0 DPC load but CapFrameX not showing corresponding spikes. Next: AutoGpuAffinity, iOverlay isolation test.

All 24 CapFrameX Sessions

#NotesDurAvgStDevP99P99.9WorstSpikes
May 11 — Baseline & Graphics Tuning
Cap1Baseline — 164cap, cstate off120s6.100.296.887.357.720
Cap2GPU burst stutter — problem corner120s6.100.336.927.4127.621
Cap3Short clean run46s6.100.296.897.2911.360
Cap4Video mem swap disabled98s6.100.326.967.449.490
Cap5Post-crash reset CPU stall (init noise)15s6.110.557.0611.3425.121
Cap6New track, MSAA 2x, crowds off120s6.100.397.097.7230.482
Cap7New track continued68s6.100.437.077.6532.102
Cap8Further settings tuning120s6.100.397.107.6528.852
Cap9Clean session120s6.100.357.077.638.430
Cap10Clean session81s6.100.367.097.688.050
May 12 — Driver Update, Reflex, 240Hz
Cap11New track, solo practice300s6.100.417.197.9528.341
Cap12Reflex On+Boost, old driver300s6.100.346.987.6224.732
Cap13Reflex On (not Boost)300s6.100.377.047.6127.753
Cap14Reflex Off, driver 596.49, 240Hz300s6.080.326.937.3617.141
May 13 — Interrupt Affinity, Process Lasso, Services
Cap15NVIDIA affinity registry + PL fixes300s6.080.336.987.598.800
Cap16GFE uninstalled300s6.080.357.027.6210.840
Cap17Services disabled before session300s6.080.407.157.768.950
Cap18Oulton Park GR86 — post full lap300s6.080.356.987.4912.381
Cap19Best LatencyMon (114 pagefaults)300s6.080.547.658.4710.610
Cap20GoInterruptPolicy attempt 1300s6.080.487.578.3210.700
Cap21RTSS discovered running — 3 spikes300s6.080.477.488.3424.833
Cap22GoInterruptPolicy PCI0022 set300s6.080.467.488.3220.602
May 14 — RTSS Removed
Cap23RTSS still active via CapFrameX overlay300s6.080.517.628.3927.123
Cap24RTSS uninstalled — iOverlay only300s6.080.547.628.5210.710

LatencyMon Session Comparison

May 13 Session 1 — Pre-fix
Before Any Interrupt Work
Duration6:21
CPU 0 DPC total43.2s
NVIDIA worst DPC1,543µs
DPCs >1000µs4
Hard pagefaults32,435
Top pagefaultertiworker.exe
May 13 Best — Services Disabled
Services Stopped, GFE Gone
Duration9:07
CPU 0 DPC total10.1s
NVIDIA worst DPC1,628µs
DPCs >1000µs6
Hard pagefaults2,107
CapFrameX spikes0
May 14 — RTSS Removed
After RTSS Uninstall
Duration8:53
CPU 0 DPC total63.0s
Top DPC driverdxgkrnl.sys*
DPCs >1000µs21
Hard pagefaults71,467†
CapFrameX spikes0

* dxgkrnl.sys replacing nvlddmkm.sys after RTSS removal — iOverlay DirectX hooks suspected. † Services may not have been fully disabled this session.

Phase 2 Update — June 2026

Phase 1 closed May 14 with 0 spikes. Phase 2 is ongoing — driver hygiene, bat improvements, and graphics headroom testing.

Jun 2026
NVIDIA interrupt affinity confirmed working. Regression is measurable when it reverts — that consistency proves the fix works. Win11 MSI limitation means it doesn't persist across reboots. Pre-launch bat re-applies to all 4 device instances (CPU 7, bitmask 0x80) before every session. Workaround is reliable.
Jun 2026
iOverlay removed. dxgkrnl.sys became top DPC driver after RTSS removal — iOverlay DirectX hook suspected. Removed. Not in use.
Jun 2026
Pre-launch bat updated to v3.2. Now also disables HAGS, Game Mode, Xbox Game Bar, USB Selective Suspend, and fully suspends Defender real-time monitoring for the session. Defender exclusions auto-repaired as fallback. Post-session bat restores everything.
Jun 2026
AMD Chipset 8.05.04.516 installed. Maintenance update with L3 cache fix relevant to 7800X3D.
Pending
NVIDIA 610.62 WHQL queued. Fixes confirmed G-Sync frame pacing bug (bug ID 6226972) on Ada Lovelace with G-Sync monitors. Current 610.47 has this bug. Vetted clean after 12 days community exposure — install pending.
Pending
TEST 1 — clean baseline after 610.62. First full session with all fixes active and correct driver. Will confirm whether May 15 baseline (0 spikes, avg 6.08ms) holds. If clean: TEST 5 (GPU load in stress scenarios) then TEST 6 (MSAA 4x).