Win32PrioritySeparation: latenza e FPS con CPU a pieno carico
In questa pagina
Risposta breve:
Win32PrioritySeparationcontrolla effettivamente il foreground boost e parte della politica dei quanti della CPU. Il nostro test storico non ha individuato un valore universalmente migliore. Il default di Windows ha mostrato una latenza click-to-photon media leggermente inferiore, mentre0x1Aha coinciso con i migliori FPS e P1 in un test al 100% di carico CPU. Data l’assenza di ripetizioni FPS indipendenti e di click sample grezzi, raccomandiamo il default, e consideriamo0x1Asolo un’ipotesi verificabile per lo scenario CPU.
Stato: la relazione del parametro con il foreground boost è documentata da Microsoft. La lettura del parametro è stata osservata in tracce di sistema Windows 11 24H2 e 25H2 raccolte in precedenza. L’effetto utente è stato misurato in una serie storica su Windows 10 22H2, ma non è stato riprodotto su un’altra macchina o in un’esecuzione indipendente.
Affermazione verificabile
Sezione intitolata “ Affermazione verificabile”Abbiamo verificato tre affermazioni diverse, che non vanno unite:
- Il parametro esiste ed è legato alla politica dello scheduler di Windows.
- I valori
0x02e0x1Arappresentano politiche dei quanti diverse a parità di foreground boost massimo. 0x1Amigliora gli FPS o la latenza di gioco a pieno carico CPU.
Le prime due affermazioni sono confermate dalla documentazione pubblica e dall’osservazione sulle build esaminate. La terza richiede misurazioni e non diventa vera solo per come è fatto il parametro.
Ambito della ricerca
Sezione intitolata “ Ambito della ricerca”| Livello | Ambiente | Risultato |
|---|---|---|
| Documentazione pubblica | Microsoft WMI, CPU Analysis e Windows Internals | Sono descritti foreground boost, quantum e la struttura storica a bit |
| Osservazione di sistema | Windows 11 24H2 e 25H2 | La lettura del parametro è stata osservata in tracce raccolte in precedenza |
| Click-to-photon | Windows 10 22H2, Valorant, CPU 100% | 300 misurazioni per valore, sono conservati gli aggregati |
| FPS | La stessa serie storica | Una cattura CapFrameX per configurazione; parte delle righe non è utilizzabile per il blocco della cattura |
Per questa pubblicazione manca una dynamic trace di Windows 10 22H2. Anche per Windows 11 26H1 non esiste una traccia utilizzabile. Le misurazioni su Windows 10 non si trasferiscono a Windows 11 senza ripetizione.
Dove si trova il parametro
Sezione intitolata “ Dove si trova il parametro”| Campo | Valore |
|---|---|
| Hive e percorso | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl |
| Nome del valore | Win32PrioritySeparation |
| Tipo | REG_DWORD |
| Valore iniziale documentato di client Windows | 0x02 (2) |
Windows Internals indica 2 come valore iniziale su client Windows e su un server non configurato come application server. Nella nostra traccia di Windows 11 25H2 il DWORD era presente anch’esso esplicitamente con valore 2.
Per questo non consideriamo l’assenza del valore un default universale di Windows. Può comparire dopo la modifica di un’immagine, una rimozione manuale o l’azione di uno strumento di terze parti, ma nella ricerca attuale lo scenario clean-install con DWORD assente non è stato riprodotto dinamicamente. L’assenza della riga non può essere interpretata automaticamente come 0.
Come è strutturato il parametro
Sezione intitolata “ Come è strutturato il parametro”Microsoft associa la proprietà Win32_OperatingSystem.ForegroundApplicationBoost a Win32PrioritySeparation e documenta i valori 0, 1 e 2: senza boost, boost minimo e massimo dell’applicazione in foreground.
Il sample ufficiale di Windows Internals Sixth Edition descrive il parametro come un insieme di campi:
| Bit | Scopo |
|---|---|
| 0-1 | Grado di foreground boost |
| 2-3 | Quanti variabili o fissi |
| 4-5 | Quanti corti o lunghi |
0x02 è il valore iniziale documentato di client Windows: imposta il foreground boost massimo e lascia gli altri campi alla politica di sistema. Per client Windows questo corrisponde storicamente a quanti variabili corti, che si possono esprimere esplicitamente come 0x26. 0x1A imposta quanti fissi lunghi con lo stesso foreground boost massimo.
Il progetto aperto Win32PSCalculator mostra questa equivalenza direttamente. Maschera l’input tramite 0x3F, scompone i tre campi da due bit e riduce scritture diverse a una delle 12 combinazioni canoniche. Questo aiuta a individuare i valori placebo, che sembrano diversi ma non creano una nuova scheduler mode.
Il documento Windows Internals è storico. Lo usiamo per interpretare i campi, ma non affermiamo che tutte le quantum table interne siano immutate in tutte le build moderne.
Calcolatore dei valori
Sezione intitolata “ Calcolatore dei valori”Decoder a 6 bit
Verifica modalità reale
Inserisci il valore trovato nella lista dei tweak. Il calcolatore mostrerà solo i sei bit utilizzati e la combinazione canonica con la stessa modalità. Non modifica nulla sul computer.
Il calcolatore funziona solo nel browser e non legge né modifica il Registry. Il suo risultato mostra l’equivalenza delle combinazioni di bit, non gli FPS o la latenza attesi. La stessa versione è disponibile sulla pagina delle impostazioni di BoosterX.
Perché il risultato può dipendere dal carico
Sezione intitolata “ Perché il risultato può dipendere dal carico”Lo scheduler sceglie un thread pronto tenendo conto di priority, affinity, stato e quantum rimanente. Dopo aver esaurito il quantum, il thread può cedere il processore a un altro thread pronto con la stessa priority. Il cambio di contesto ha un costo, quindi quanti più lunghi possono ridurre lo scheduler turnover e sostenere il throughput in caso di forte competizione per la CPU.
Questo spiega la possibile direzione dell’effetto, ma non promette un guadagno nel gioco. Un quantum fisso più lungo può allo stesso tempo peggiorare la reattività degli altri thread. Se la CPU non è il collo di bottiglia, potrebbe non esserci alcun guadagno misurabile.
Metodologia del test storico
Sezione intitolata “ Metodologia del test storico”Il test è stato eseguito in Valorant su Windows 10 22H2 con un carico CPU registrato del 100%. Per ogni valore di Registry sono state eseguite 300 misurazioni click-to-photon con il banco hardware BoosterX. Il segnale elettrico del pulsante del Logitech G PRO X SUPERLIGHT avvia il timer, e il fotosensore lo ferma dopo il cambiamento di luminosità sullo schermo. L’intero percorso è descritto nella metodologia delle ricerche.
Nella tabella sono conservati AVG, STDDEV, MIN e MAX della latenza. Per gli FPS è stato usato CapFrameX, ma nel blocco disponibile c’è una sola cattura per configurazione. Per alcuni valori la cattura si bloccava, quindi queste righe FPS sono contrassegnate come non disponibili e non vengono ricostruite con supposizioni.
I 300 click sample originali, P90, le distribuzioni, il manifest esatto di hardware/driver e le ripetizioni FPS indipendenti non sono collegati a questa vecchia serie. Questo limita la conclusione statistica.
Risultati
Sezione intitolata “ Risultati”| Valore | Politica | AVG, ms | SD, ms | MIN, ms | MAX, ms | FPS AVG | P1 | P0.1 |
|---|---|---|---|---|---|---|---|---|
0x2A |
corta, fissa, boost alto | 16.61 | 2.69 | 10.53 | 21.96 | 351.3 | 226.2 | 43.9 |
0x29 |
corta, fissa, boost medio | 17.08 | 3.02 | 10.31 | 25.09 | 336.8 | 254.9 | 14.3 |
0x28 |
corta, fissa, senza boost | 17.62 | 4.94 | 10.19 | 47.04 | n/d | n/d | n/d |
0x26 |
equivalente esplicito del default 0x02 |
15.28 | 3.12 | 9.30 | 23.08 | 334.4 | 111.6 | 36.9 |
0x25 |
corta, variabile, boost medio | 16.90 | 2.73 | 11.42 | 23.97 | 334.7 | 102.6 | 27.6 |
0x24 |
corta, variabile, senza boost | 18.71 | 4.66 | 11.88 | 32.48 | n/d | n/d | n/d |
0x1A |
lunga, fissa, boost alto | 15.68 | 3.31 | 9.97 | 23.30 | 355.1 | 256.0 | 41.0 |
0x19 |
lunga, fissa, boost medio | 16.80 | 2.61 | 10.08 | 21.95 | 352.0 | 272.9 | 21.5 |
0x18 |
lunga, fissa, senza boost | 22.74 | 8.81 | 11.65 | 55.10 | n/d | n/d | n/d |
0x16 |
lunga, variabile, boost alto | 16.77 | 2.88 | 11.32 | 23.97 | 346.4 | 200.1 | 34.0 |
0x15 |
lunga, variabile, boost medio | 16.13 | 2.34 | 10.08 | 20.95 | 332.1 | 144.4 | 17.8 |
0x14 |
lunga, variabile, senza boost | 19.87 | 5.55 | 12.43 | 52.31 | n/d | n/d | n/d |
н/д indica una cattura FPS non utilizzabile o assente, non un risultato nullo.
Confronto tra default e 0x1A
Sezione intitolata “Confronto tra default e 0x1A”| Metrica | Default / equivalente 0x26 |
0x1A |
Differenza osservata |
|---|---|---|---|
| Click-to-photon AVG | 15.28 ms | 15.68 ms | 0x1A superiore di 0.40 ms, circa 2.6% |
| Click-to-photon SD | 3.12 ms | 3.31 ms | 0x1A superiore di 0.19 ms |
| FPS AVG | 334.4 | 355.1 | 0x1A superiore di 20.7, circa 6.2% |
| P1 | 111.6 | 256.0 | 0x1A superiore di 144.4 |
| P0.1 | 36.9 | 41.0 | 0x1A superiore di 4.1 |
La differenza della latenza media di 0.40 ms è nettamente inferiore alla dispersione conservata di circa 3 ms. Senza i sample grezzi non si può costruire correttamente un intervallo di confidenza né verificare la forma della distribuzione. La differenza FPS è grande nei numeri descrittivi, ma una sola cattura per stato non dimostra la riproducibilità e non esclude l’influenza dell’ordine delle esecuzioni o del carico in background.
Cosa è confermato
Sezione intitolata “ Cosa è confermato”- Il parametro è legato al foreground boost e alla politica dei quanti dello scheduler di Windows.
- La sua lettura è stata osservata nelle Windows 11 24H2 e 25H2 esaminate.
- Nella serie storica su Windows 10 22H2 sono state eseguite 300 misurazioni click-to-photon per valore.
- Tra gli stati con foreground boost alto, l’equivalente del default
0x26ha mostrato la latenza media più bassa. - Nella stessa cattura storica
0x1Aha mostrato il maggiore FPS AVG e P1 tra gli stati con boost alto.
Cosa non è confermato
Sezione intitolata “ Cosa non è confermato”- Che
0x1Aaumenti sempre FPS, P1 o la fluidità dei frame. - Che
0x1Ariduca il click-to-photon o l’input latency. - Che il risultato si ripeta su Windows 11, un’altra CPU, un altro gioco o senza pieno carico CPU.
- Che valori arbitrari presi da liste di tweak altrui siano utili o sicuri.
- Che le differenze siano statisticamente significative: per la vecchia serie non ci sono sample grezzi né ripetizioni FPS indipendenti.
Limitazioni
Sezione intitolata “ Limitazioni”La tabella storica non contiene il manifest completo collegato di hardware, versioni di driver e gioco, temperatura, power state e ordine delle esecuzioni. Le finestre di una sola cattura non sono considerate ripetizioni indipendenti. Gli errori di CapFrameX hanno riguardato prevalentemente gli stati senza foreground boost, quindi la matrice FPS completa non è confrontabile.
La ricerca e gli strumenti usati appartengono allo sviluppatore di BoosterX, che fornisce questa impostazione, quindi lo sviluppatore ha un interesse diretto nei risultati. La metodologia e i limiti di applicabilità sono descritti sopra, e le conclusioni si possono verificare con i dati aperti e le fonti pubbliche elencate. Per questo il default resta la raccomandazione, e il più alto FPS storico 0x1A viene pubblicato insieme al risultato negativo sulla latenza media e a tutte le limitazioni.
Conclusione pratica
Sezione intitolata “ Conclusione pratica”Lasciate Windows default (0x02) sulla maggior parte dei sistemi client Windows 10 e 11. Non applicate 0x1A come “ottimizzazione dello scheduler” universale. Windows Server ha una scheduler policy diversa, non è stato misurato e non rientra in questa raccomandazione.
La verifica di 0x1A è giustificata solo in presenza di una CPU saturation riproducibile. Usate più esecuzioni appaiate, alternate l’ordine, registrate FPS medio, P1, P0.1, frametime spikes e click-to-photon. Mantenete la modifica solo in caso di miglioramento ripetibile della metrica obiettivo senza un nuovo peggioramento.
Pagina dell’impostazione gratuita e modo esatto per ripristinare: Win32PrioritySeparation in BoosterX.
Ripristino dello stato
Sezione intitolata “ Ripristino dello stato”Dopo il confronto riportate il parametro a Windows default (0x02) tramite BoosterX ed eseguite il riavvio proposto dall’interfaccia. Nel set storico non si è conservata una voce separata sulla verifica del ripristino, quindi questa ricerca non considera il recovery una parte confermata del vecchio esperimento.
Fonti primarie pubbliche
Sezione intitolata “ Fonti primarie pubbliche”- Win32_OperatingSystem.ForegroundApplicationBoost, Microsoft Learn - Registry mapping e valori del foreground boost.
- CPU Analysis, Microsoft Learn - quantum, priority, selezione del processore e costo dei context switch.
- Scheduling Priorities, Microsoft Learn - round-robin, preemption e dynamic priority.
- Context Switches, Microsoft Learn - cosa succede quando si cambia thread.
- Windows Internals Sixth Edition sample chapters, Microsoft Press - descrizione storica dei campi del parametro e dei quanti client.
- Tabella pubblica delle misurazioni click-to-photon di BoosterX - aggregati originali pubblicati di questa serie storica.
- Win32PSCalculator - implementazione aperta della decodifica dei sei bit inferiori e della ricerca della modalità equivalente.
Fonti pubbliche e formulazioni verificate: 2026-08-24.
Cronologia delle modifiche
Sezione intitolata “Cronologia delle modifiche”- 2026-09-20: il disclaimer sul conflitto di interessi è stato rafforzato fino alla formulazione completa con l’appartenenza della ricerca e degli strumenti.
- 2026-08-24: aggiunti la posizione esatta del Registry value, il valore iniziale documentato
0x02, Win32PSCalculator e i limiti di interpretazione del DWORD assente. - 2026-08-24: prima pubblicazione; aggiunte la matrice storica completa, la separazione tra meccanismo ed effetto utente, e la raccomandazione del default.
