
Come fare una diagnosi DPC completa con LatencyMon + MSI Afterburner

Per una diagnosi DPC completa conviene usare LatencyMon per individuare i driver che bloccano più a lungo la CPU e MSI Afterburner/RivaTuner per verificare se quei picchi coincidono davvero con stutter, frame-time anomali o cali di FPS.
1. Cosa vuoi scoprire
L'obiettivo non è semplicemente ottenere "DPC più basso possibile". Devi arrivare a una conclusione del tipo:
"Quando gioco, ogni ~10 secondi compare un picco di frame-time. Nello stesso momento aumenta la latenza DPC e
ndis.sysregistra picchi. Disattivando il Wi-Fi il problema scompare."
Questa è una diagnosi.
La procedura è:
LatencyMon
↓
individua il comportamento DPC/ISR
↓
MSI Afterburner + RTSS
↓
individua il momento esatto dello stutter
↓
confronti i due eventi
↓
isoli il driver/periferica
↓
modifichi UNA cosa
↓
ripeti il test
2. Installa gli strumenti
Ti servono:
-
LatencyMon — per DPC/ISR e hard pagefault
-
MSI Afterburner — per monitorare CPU/GPU/FPS
-
RivaTuner Statistics Server (RTSS) — per l'overlay e soprattutto il grafico del frame-time
Scarica i programmi dalle rispettive fonti ufficiali e assicurati di installare RTSS insieme ad Afterburner quando viene proposta l'opzione.
3. Configura MSI Afterburner
Apri:
MSI Afterburner → Settings → Monitoring
Troverai un elenco di sensori.
Seleziona almeno:
-
Framerate
-
Frametimes
-
GPU usage
-
GPU temperature
-
GPU clock
-
GPU power
-
CPU usage
-
CPU temperature
-
CPU clock
-
RAM usage
-
VRAM usage
Per ogni voce che vuoi vedere nell'overlay seleziona:
Show in On-Screen Display
4. Aggiungi l'utilizzo dei singoli core CPU
Questa è una parte molto importante.
Se disponibile, aggiungi:
CPU1 usage
CPU2 usage
CPU3 usage
...
oppure gli equivalenti thread/core riportati da Afterburner.
Perché?
Immagina:
CPU totale: 45%
Potrebbe sembrare tutto normale.
Ma magari hai:
Core 1 → 98%
Core 2 → 42%
Core 3 → 37%
Core 4 → 35%
...
Un singolo thread molto carico può essere importante per il gaming.
5. Configura il frame-time
Il dato fondamentale è:
Frametime
FPS e frame-time sono collegati:
60 FPS ≈ 16,67 ms
120 FPS ≈ 8,33 ms
144 FPS ≈ 6,94 ms
165 FPS ≈ 6,06 ms
240 FPS ≈ 4,17 ms
Ma medi potrebbero sembrare ancora ottimi, ma quel singolo frame è arrivato molto ciò che ci interessa è soprattutto la regolarità.
Esempio
Frame-time normale:
6.0
6.1
6.0
6.1
6.0
Stutter:
6.0
6.1
6.0
38.7 ← STUTTER
6.1
6.0
Gli FPS medi potrebbero sembrare ancora ottimi, ma quel singolo frame è arrivato molto tardi.
6. Configura RTSS
Apri RivaTuner Statistics Server.
Assicurati che l'overlay sia abilitato per il gioco che vuoi testare.
Puoi configurare:
-
posizione dell'overlay
-
dimensione del testo
-
grafico
-
informazioni visualizzate
Non esagerare con 30 sensori: durante la diagnosi vuoi poter leggere chiaramente i dati.
Una configurazione iniziale potrebbe essere:
FPS
Frame time
GPU %
GPU temperature
CPU %
CPU temperature
RAM
VRAM
e successivamente aggiungere i singoli core CPU.
7. Crea una baseline
Prima di modificare qualcosa:
Riavvia il PC.
Poi:
-
non avviare programmi inutili;
-
lascia caricare Windows;
-
avvia LatencyMon;
-
premi Start;
-
aspetta circa 5–10 minuti.
Annota:
Highest measured interrupt
Highest ISR
Highest DPC
Hard pagefaults
Driver con valori più elevati
Questa è la tua baseline.
Non modificare ancora nulla.
8. Fai il test durante il gioco
Ora fai il test vero.
Avvia:
LatencyMon → Start
poi:
MSI Afterburner/RTSS
e successivamente il gioco.
Gioca normalmente per almeno:
10–15 minuti
oppure finché compare il problema.
Se hai un micro-stutter riproducibile, ancora meglio.
9. Quando compare lo stutter
Supponiamo che durante il gioco vedi:
FPS:
165
164
166
165
72 ← problema
165
164
Ma soprattutto:
Frame time:
6.0 ms
6.1 ms
6.0 ms
6.2 ms
22.5 ms ← picco
6.1 ms
Non guardare subito LatencyMon.
Prima osserva cosa succede contemporaneamente:
GPU %
CPU %
CPU core %
GPU clock
GPU temperature
VRAM
RAM
10. Interpreta il pattern
Caso A — GPU al 99%
GPU → 99%
CPU → 50%
Frame time → picco
Potresti avere un problema GPU/engine/impostazioni grafiche.
Non è automaticamente un problema DPC.
Caso B — GPU scende improvvisamente
GPU:
98%
98%
97%
42% ← picco
98%
e contemporaneamente:
Frame time:
6 ms
6 ms
35 ms ← stutter
6 ms
Qui devi investigare cosa ha interrotto o fatto aspettare il lavoro GPU/CPU.
DPC può essere una possibilità, ma non l'unica.
Caso C — un core CPU arriva al 100%
CPU totale → 45%
Core 3 → 100%
Se il gioco è CPU-limited su quel thread, potresti avere un normale CPU bottleneck, non un problema DPC.
Caso D — picco DPC + picco frame-time
Questo è quello che cerchiamo.
Frame-time → 6 ms → 6 ms → 35 ms → 6 ms
↑
stutter
DPC → normale → normale → picco → normale
↑
stesso momento
Qui la correlazione diventa interessante.
11. Ora guarda LatencyMon → Drivers
Dopo aver riprodotto il problema, ferma il test.
Vai in:
Drivers
e ordina per:
Highest execution time
oppure per la colonna equivalente relativa alla durata.
Potresti vedere:
Driver Highest execution
----------------------------------------
xxxx.sys 2.8 ms
yyyy.sys 1.4 ms
zzzz.sys 0.9 ms
Il primo candidato merita un'indagine.
Ma non accusarlo ancora.
12. Non confondere driver "coinvolto" con driver "colpevole"
Questo è fondamentale.
Potresti vedere:
ndis.sys
in cima.
Non significa necessariamente:
"Il problema è ndis.sys."
ndis.sys appartiene allo stack di rete. Il vero problema potrebbe essere:
-
driver Wi-Fi
-
driver Ethernet
-
VPN
-
software antivirus
-
firewall
-
software di filtraggio rete
-
altro driver che utilizza lo stack
Lo stesso principio vale per molti driver di sistema.
13. dxgkrnl.sys
Se trovi:
dxgkrnl.sys
non significa automaticamente che Windows Graphics Kernel sia difettoso.
È una componente centrale dello stack grafico Windows.
Controlla contemporaneamente:
-
driver NVIDIA/AMD/Intel
-
GPU utilization
-
GPU clock
-
GPU temperature
-
VRAM
-
frame-time
-
eventuali overlay
-
giochi DX11/DX12
-
HAGS
-
G-SYNC/FreeSync
dxgkrnl.sys può comparire in problemi grafici senza essere necessariamente la causa primaria.
14. nvlddmkm.sys
Su NVIDIA potresti vedere:
nvlddmkm.sys
Questo è il driver kernel NVIDIA.
Se mostra valori elevati, controlla:
-
versione driver
-
temperatura GPU
-
GPU clock
-
power limit
-
eventuali overclock/undervolt
-
overlay
-
registrazione ShadowPlay
-
comportamento specifico del gioco
Come sempre, non eliminare il file e non modificare il registro per "risolverlo".
15. Wdf01000.sys
Questo è particolarmente interessante perché appartiene al Windows Driver Framework.
Può essere coinvolto indirettamente da vari dispositivi/driver.
Se lo trovi alto, pensa a:
-
USB
-
audio
-
Bluetooth
-
periferiche
-
controller
-
webcam
-
dispositivi HID
-
driver di terze parti
Non significa che Wdf01000.sys sia necessariamente difettoso.
16. USBXHCI.SYS
Se vedi:
USBXHCI.SYS
controlla le periferiche USB.
Fai un test controllato:
USB audio → scollegato
controller → scollegato
webcam → scollegata
hub USB → scollegato
Naturalmente lascia collegato ciò che ti serve per giocare.
Poi ripeti esattamente lo stesso test.
Se il problema scompare, ricollega le periferiche una alla volta.
17. Audio: un caso molto frequente
Se hai:
-
cuffie USB
-
DAC USB
-
interfaccia audio
-
software audio
-
microfono USB
puoi fare un test.
Configurazione A:
cuffie USB
microfono USB
software audio
Configurazione B:
cuffie jack 3,5 mm
microfono disabilitato
software audio chiuso
Se la latenza cambia drasticamente, hai ristretto molto il campo.
18. Rete: fai un test Ethernet vs Wi-Fi
Se sospetti la rete:
Test 1
Wi-Fi ON
Ethernet OFF
gioca e misura.
Test 2
Wi-Fi OFF
Ethernet ON
stesso gioco, stessa scena, stesso tempo.
Se:
Wi-Fi → picchi
Ethernet → nessun picco
hai una forte indicazione verso:
-
driver Wi-Fi
-
adattatore Wi-Fi
-
gestione energetica Wi-Fi
-
software di rete
-
interferenze/driver associati
Non è ancora una prova matematica della causa, ma è un ottimo esperimento di isolamento.
19. Fai test A/B
Questo è il metodo più importante.
Supponiamo di sospettare il Wi-Fi.
Test A
Wi-Fi ON
LatencyMon → 15 min
Gaming → 15 min
DPC max: 3.8 ms
Stutter: frequente
Test B
Wi-Fi OFF
Ethernet ON
LatencyMon → 15 min
Gaming → stesso scenario
DPC max: 0.7 ms
Stutter: assente
Ora hai un'evidenza molto più forte.
20. Una variabile alla volta
Non fare:
Wi-Fi OFF
Bluetooth OFF
HAGS OFF
Game Mode OFF
HPET modificato
servizi disabilitati
driver reinstallati
overclock
tutto nello stesso momento.
Se poi il problema scompare, non saprai perché.
Fai invece:
Baseline
↓
Wi-Fi OFF
↓
test
↓
ripristino
↓
Bluetooth OFF
↓
test
↓
ripristino
↓
audio USB OFF
↓
test
È più lento, ma è una vera diagnosi.
21. Crea una tabella dei risultati
Ti consiglio di tenere una tabella:
Test
Configurazione
DPC max
1% low
Stutter
A
Baseline
3.8 ms
82
Sì
B
Wi-Fi OFF
0.8 ms
108
No
C
Bluetooth OFF
3.6 ms
84
Sì
D
Audio USB OFF
3.7 ms
83
Sì
In questo esempio, il test Wi-Fi è quello che ha cambiato significativamente il comportamento.
22. Guarda anche il 1% low
Supponiamo:
Test A
Average FPS: 165
1% Low: 58
Test B
Average FPS: 162
1% Low: 105
Il secondo test potrebbe avere un'esperienza molto più consistente anche con FPS medi leggermente inferiori.
Per DPC/stuttering, il frame-time e gli 1% low sono spesso più informativi dell'Average FPS.
23. Un esempio realistico completo
Immaginiamo:
Ryzen 7
RTX 4070
32 GB RAM
Windows 11
Wi-Fi
cuffie USB
Problema:
micro-stutter ogni 10–20 secondi.
LatencyMon
Dopo 15 minuti:
Highest DPC: 4.6 ms
Drivers:
ndis.sys
Wdf01000.sys
Afterburner
Durante lo stutter:
FPS:
165 → 164 → 41 → 165
Frame time:
6 ms → 6 ms → 24 ms → 6 ms
GPU:
97% → 97% → 55% → 97%
Questo è interessante.
Fai il test:
Wi-Fi OFF
Ethernet ON
Risultato:
DPC: 0.9 ms
Frame time:
6 ms
6 ms
6 ms
6 ms
e niente stutter.
A questo punto puoi indagare il driver Wi-Fi, il relativo software e le impostazioni del dispositivo.
24. Quando DPC probabilmente NON è il problema
Se hai:
DPC → valori normali
Frame-time → picchi
GPU → 99%
VRAM → quasi piena
potresti essere semplicemente GPU-limited.
Oppure:
DPC → normale
CPU core → 100%
Frame-time → picchi
potresti avere un limite CPU.
Oppure:
DPC → normale
SSD → 100%
Hard pagefault → elevati
potresti avere un problema di I/O/memoria.
Questo è il motivo per cui LatencyMon da solo non basta.
25. Una configurazione di monitoraggio che userei
Per una diagnosi gaming, l'overlay potrebbe essere:
FPS
Frame time
GPU usage
GPU temperature
GPU clock
GPU power
CPU usage
CPU temperature
CPU clock
RAM usage
VRAM usage
E, se stai cercando un problema CPU:
CPU Core 1
CPU Core 2
CPU Core 3
...
Non serve visualizzare ogni possibile sensore contemporaneamente.
26. Il test finale
Quando pensi di aver trovato la causa:
Prima
DPC max: 4.6 ms
Frame-time spike: 24 ms
Stutter: sì
Dopo la modifica
DPC max: 0.8 ms
Frame-time spike: assente
Stutter: assente
Ripeti il test almeno 2–3 volte.
Se il risultato è riproducibile, hai una diagnosi molto più solida.
Schema completo
┌──────────────┐
│ LATENCYMON │
└──────┬───────┘
│
DPC / ISR / Drivers
│
▼
Trova candidati
│
▼
┌──────────────────┐
│ MSI AFTERBURNER │
│ + RTSS │
└────────┬─────────┘
│
FPS / Frame-time
CPU / GPU / RAM
│
▼
Trova il momento
esatto dello stutter
│
▼
Confronta eventi
│
▼
Test A/B
│
▼
Una modifica alla volta
│
▼
Ripeti il benchmark
│
▼
CONFERMA / SCARTA
La regola d'oro
LatencyMon ti dice che qualcosa sta ritardando l'esecuzione; Afterburner/RTSS ti dice se quel ritardo coincide con ciò che percepisci nel gioco.
Solo quando i due dati coincidono e un test A/B riproducibile elimina il problema puoi iniziare a parlare di causa probabile, invece che di semplice correlazione.




































