Win32PrioritySeparation: opóźnienie i FPS przy pełnym obciążeniu CPU
Na tej stronie
Krótka odpowiedź:
Win32PrioritySeparationrzeczywiście steruje foreground boost i częścią polityki kwantów CPU. Nasz historyczny test nie wykazał uniwersalnie najlepszej wartości. Windows default pokazał nieco mniejszą średnią click-to-photon latency, a0x1Azrównał się z najlepszymi FPS i P1 w jednym teście przy 100% obciążeniu CPU. Z powodu braku niezależnych powtórzeń FPS i surowych click samples zalecamy default, a0x1Auważamy jedynie za weryfikowalną hipotezę dla scenariusza CPU.
Status: związek parametru z foreground boost jest udokumentowany przez Microsoft. Odczyt parametru zaobserwowano w wcześniej zebranych śladach systemowych Windows 11 24H2 i 25H2. Efekt użytkowy zmierzono w historycznej serii Windows 10 22H2, ale nie został odtworzony na innym systemie ani w niezależnym uruchomieniu.
Weryfikowalne twierdzenie
Dział zatytułowany „ Weryfikowalne twierdzenie”Weryfikowaliśmy trzy różne twierdzenia, których nie można łączyć:
- Parametr istnieje i jest związany z polityką harmonogramu Windows.
- Wartości
0x02i0x1Areprezentują różne polityki kwantów przy tym samym maksymalnym foreground boost. 0x1Apoprawia FPS lub opóźnienie gry przy pełnym obciążeniu CPU.
Pierwsze dwa twierdzenia potwierdza publiczna dokumentacja i obserwacja na badanych kompilacjach. Trzecie wymaga pomiarów i nie staje się prawdziwe tylko z powodu budowy parametru.
Zakres badania
Dział zatytułowany „ Zakres badania”| Warstwa | Środowisko | Wynik |
|---|---|---|
| Publiczna dokumentacja | Microsoft WMI, CPU Analysis i Windows Internals | Opisane foreground boost, quantum i historyczna struktura bitowa |
| Obserwacja systemowa | Windows 11 24H2 i 25H2 | Odczyt parametru zaobserwowano w wcześniej zebranych śladach |
| Click-to-photon | Windows 10 22H2, Valorant, CPU 100% | Po 300 pomiarów na wartość, zachowano agregaty |
| FPS | Ta sama historyczna seria | Jeden CapFrameX capture na konfigurację; część wierszy nieprzydatna z powodu zawieszenia capture |
Windows 10 22H2 dynamic trace dla tej publikacji nie istnieje. Dla Windows 11 26H1 również nie ma przydatnego śladu. Pomiary Windows 10 nie przenoszą się na Windows 11 bez powtórzenia.
Gdzie znajduje się parametr
Dział zatytułowany „ Gdzie znajduje się parametr”| Pole | Wartość |
|---|---|
| Hive i ścieżka | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\PriorityControl |
| Nazwa wartości | Win32PrioritySeparation |
| Typ | REG_DWORD |
| Udokumentowana wartość początkowa client Windows | 0x02 (2) |
Windows Internals nazywa 2 wartością początkową na klienckim Windows i na serwerze, który nie jest skonfigurowany jako application server. W naszym śladzie Windows 11 25H2 DWORD również występował jawnie z wartością 2.
Dlatego nie uważamy braku wartości za uniwersalny Windows default. Może wystąpić po zmianie obrazu, ręcznym usunięciu lub działaniach zewnętrznego narzędzia, ale w obecnym badaniu scenariusz clean-install z brakującym DWORD nie został dynamicznie odtworzony. Braku wiersza nie można automatycznie traktować jako 0.
Jak zbudowany jest parametr
Dział zatytułowany „ Jak zbudowany jest parametr”Microsoft przypisuje właściwość Win32_OperatingSystem.ForegroundApplicationBoost do Win32PrioritySeparation i dokumentuje wartości 0, 1 i 2: bez boost, minimalny i maksymalny boost foreground application.
Oficjalny sample Windows Internals Sixth Edition opisuje parametr jako zestaw pól:
| Bity | Przeznaczenie |
|---|---|
| 0-1 | Stopień foreground boost |
| 2-3 | Zmienne lub stałe kwanty |
| 4-5 | Krótkie lub długie kwanty |
0x02 jest udokumentowaną wartością początkową client Windows: ustawia maksymalny foreground boost, a pozostałe pola pozostawia polityce systemowej. Dla klienckiego Windows historycznie odpowiada to krótkim zmiennym kwantom, które można jawnie wyrazić jako 0x26. 0x1A ustawia długie stałe kwanty przy tym samym maksymalnym foreground boost.
Otwarty projekt Win32PSCalculator pokazuje tę równoważność bezpośrednio. Maskuje wejście przez 0x3F, rozbiera trzy dwubitowe pola i sprowadza różne zapisy do jednej z 12 kanonicznych kombinacji. Pomaga to wykryć wartości placebo, które wyglądają inaczej, ale nie tworzą nowego scheduler mode.
Dokument Windows Internals jest historyczny. Używamy go do interpretacji pól, ale nie twierdzimy, że wszystkie wewnętrzne quantum tables są niezmienne we wszystkich współczesnych kompilacjach.
Kalkulator wartości
Dział zatytułowany „ Kalkulator wartości”Dekoder 6-bitowy
Sprawdzanie trybu rzeczywistego
Wprowadź wartość znalezioną na liście tweaków. Kalkulator pokaże tylko użyte sześć bitów i kanoniczną kombinację z tym samym trybem. Nie zmienia niczego na komputerze.
Kalkulator działa tylko w przeglądarce i nie odczytuje ani nie zmienia Registry. Jego wynik pokazuje równoważność kombinacji bitowych, a nie oczekiwany FPS lub opóźnienie. Ta sama wersja jest dostępna na stronie ustawienia BoosterX.
Dlaczego wynik może zależeć od obciążenia
Dział zatytułowany „ Dlaczego wynik może zależeć od obciążenia”Harmonogram wybiera gotowy wątek z uwzględnieniem priority, affinity, stanu i pozostałego quantum. Po wyczerpaniu quantum wątek może ustąpić procesor innemu gotowemu wątkowi o tym samym priority. Przełączenie kontekstu ma koszt, więc dłuższe kwanty mogą zmniejszyć scheduler turnover i podtrzymać throughput przy silnej konkurencji o CPU.
To wyjaśnia możliwy kierunek efektu, ale nie obiecuje wzrostu w grze. Dłuższy stały quantum może jednocześnie pogorszyć responsywność innych wątków. Jeśli CPU nie jest ograniczeniem, mierzalnej korzyści może nie być.
Metodyka historycznego testu
Dział zatytułowany „ Metodyka historycznego testu”Test wykonywano w Valorant na Windows 10 22H2 przy zapisanym 100% obciążeniu CPU. Dla każdej wartości Registry wykonano 300 pomiarów click-to-photon sprzętowym stanowiskiem BoosterX. Sygnał elektryczny przycisku Logitech G PRO X SUPERLIGHT uruchamia timer, a fotoczujnik zatrzymuje go po zmianie jasności na ekranie. Pełny tor opisano w metodyce badań.
W tabeli zachowano AVG, STDDEV, MIN i MAX opóźnienia. Dla FPS użyto CapFrameX, ale w dostępnym bloku jest tylko jeden capture na konfigurację. Dla części wartości capture zawieszał się, dlatego te wiersze FPS oznaczono jako niedostępne i nie odtwarza się ich przypuszczeniami.
Surowe 300 click samples, P90, rozkłady, dokładny hardware/driver manifest i niezależne powtórzenia FPS nie są powiązane z tą starą serią. To ogranicza wniosek statystyczny.
| Wartość | Polityka | AVG, ms | SD, ms | MIN, ms | MAX, ms | FPS AVG | P1 | P0.1 |
|---|---|---|---|---|---|---|---|---|
0x2A |
krótka, stała, wysoki boost | 16.61 | 2.69 | 10.53 | 21.96 | 351.3 | 226.2 | 43.9 |
0x29 |
krótka, stała, średni boost | 17.08 | 3.02 | 10.31 | 25.09 | 336.8 | 254.9 | 14.3 |
0x28 |
krótka, stała, bez boost | 17.62 | 4.94 | 10.19 | 47.04 | н/д | н/д | н/д |
0x26 |
jawny odpowiednik default 0x02 |
15.28 | 3.12 | 9.30 | 23.08 | 334.4 | 111.6 | 36.9 |
0x25 |
krótka, zmienna, średni boost | 16.90 | 2.73 | 11.42 | 23.97 | 334.7 | 102.6 | 27.6 |
0x24 |
krótka, zmienna, bez boost | 18.71 | 4.66 | 11.88 | 32.48 | н/д | н/д | н/д |
0x1A |
długa, stała, wysoki boost | 15.68 | 3.31 | 9.97 | 23.30 | 355.1 | 256.0 | 41.0 |
0x19 |
długa, stała, średni boost | 16.80 | 2.61 | 10.08 | 21.95 | 352.0 | 272.9 | 21.5 |
0x18 |
długa, stała, bez boost | 22.74 | 8.81 | 11.65 | 55.10 | н/д | н/д | н/д |
0x16 |
długa, zmienna, wysoki boost | 16.77 | 2.88 | 11.32 | 23.97 | 346.4 | 200.1 | 34.0 |
0x15 |
długa, zmienna, średni boost | 16.13 | 2.34 | 10.08 | 20.95 | 332.1 | 144.4 | 17.8 |
0x14 |
długa, zmienna, bez boost | 19.87 | 5.55 | 12.43 | 52.31 | н/д | н/д | н/д |
н/д oznacza nieprzydatny lub brakujący FPS capture, a nie zerowy wynik.
Porównanie default i 0x1A
Dział zatytułowany „Porównanie default i 0x1A”| Metryka | Default / odpowiednik 0x26 |
0x1A |
Zaobserwowana różnica |
|---|---|---|---|
| Click-to-photon AVG | 15.28 ms | 15.68 ms | 0x1A wyższy o 0.40 ms, około 2.6% |
| Click-to-photon SD | 3.12 ms | 3.31 ms | 0x1A wyższy o 0.19 ms |
| FPS AVG | 334.4 | 355.1 | 0x1A wyższy o 20.7, około 6.2% |
| P1 | 111.6 | 256.0 | 0x1A wyższy o 144.4 |
| P0.1 | 36.9 | 41.0 | 0x1A wyższy o 4.1 |
Różnica średniego opóźnienia 0.40 ms jest wyraźnie mniejsza niż zachowany rozrzut około 3 ms. Bez surowych samples nie można poprawnie zbudować przedziału ufności ani sprawdzić kształtu rozkładu. Różnica FPS jest duża pod względem liczb opisowych, ale jeden capture na stan nie dowodzi powtarzalności i nie wyklucza wpływu kolejności przebiegów lub obciążenia tła.
Co potwierdzono
Dział zatytułowany „ Co potwierdzono”- Parametr jest związany z foreground boost i polityką kwantów harmonogramu Windows.
- Jego odczyt zaobserwowano w badanych Windows 11 24H2 i 25H2.
- W historycznej serii Windows 10 22H2 wykonano po 300 pomiarów click-to-photon na wartość.
- Wśród stanów z wysokim foreground boost odpowiednik default
0x26pokazał najmniejsze średnie opóźnienie. - W tym samym historycznym capture
0x1Apokazał największy FPS AVG i P1 wśród stanów z wysokim boost.
Co nie zostało potwierdzone
Dział zatytułowany „ Co nie zostało potwierdzone”- Że
0x1Azawsze podnosi FPS, P1 lub płynność klatek. - Że
0x1Azmniejsza click-to-photon lub input latency. - Że wynik powtarza się na Windows 11, innym CPU, w innej grze lub bez pełnego obciążenia CPU.
- Że dowolne wartości z cudzych tweak-list są użyteczne lub bezpieczne.
- Że różnice są statystycznie istotne: dla starej serii nie ma surowych samples i niezależnych powtórzeń FPS.
Ograniczenia
Dział zatytułowany „ Ograniczenia”Historyczna tabela nie zawiera pełnego powiązanego manifestu sprzętu, wersji sterownika i gry, temperatury, power state i kolejności przebiegów. Okna jednego capture nie są uważane za niezależne powtórzenia. Błędy CapFrameX dotknęły głównie stanów bez foreground boost, dlatego pełnej macierzy FPS nie można porównywać.
Badanie i użyte narzędzia należą do dewelopera BoosterX, który udostępnia to ustawienie, więc deweloper ma bezpośredni interes w wynikach. Metodykę i granice stosowalności opisano powyżej, a wnioski można zweryfikować na podstawie otwartych danych i wymienionych publicznych źródeł. Dlatego default pozostaje rekomendacją, a wyższy historyczny FPS 0x1A publikuje się wraz z negatywnym wynikiem dla średniego opóźnienia i wszystkimi ograniczeniami.
Wniosek praktyczny
Dział zatytułowany „ Wniosek praktyczny”Zostaw Windows default (0x02) na większości klienckich systemów Windows 10 i 11. Nie stosuj 0x1A jako uniwersalnej „optymalizacji harmonogramu”. Windows Server ma inną scheduler policy, nie był mierzony i nie wchodzi w tę rekomendację.
Sprawdzenie 0x1A jest uzasadnione tylko przy powtarzalnym CPU saturation. Użyj kilku parowanych przebiegów, mieszaj kolejność, zapisuj średni FPS, P1, P0.1, frametime spikes i click-to-photon. Zostaw zmianę tylko przy powtarzalnej poprawie docelowej metryki bez nowego pogorszenia.
Strona darmowego ustawienia i dokładny sposób przywrócenia: Win32PrioritySeparation w BoosterX.
Przywracanie stanu
Dział zatytułowany „ Przywracanie stanu”Po porównaniu przywróć parametr do Windows default (0x02) przez BoosterX i wykonaj zaproponowany przez interfejs restart. W historycznym zestawie nie zachowano osobnego zapisu o sprawdzeniu przywrócenia, dlatego to badanie nie uważa recovery za potwierdzoną część starego eksperymentu.
Publiczne źródła pierwotne
Dział zatytułowany „ Publiczne źródła pierwotne”- Win32_OperatingSystem.ForegroundApplicationBoost, Microsoft Learn - Registry mapping i wartości foreground boost.
- CPU Analysis, Microsoft Learn - quantum, priority, processor selection i koszt context switches.
- Scheduling Priorities, Microsoft Learn - round-robin, preemption i dynamic priority.
- Context Switches, Microsoft Learn - co dzieje się przy przełączeniu wątku.
- Windows Internals Sixth Edition sample chapters, Microsoft Press - historyczny opis pól parametru i klienckich kwantów.
- Publiczna tabela pomiarów click-to-photon BoosterX - źródłowe opublikowane agregaty tej historycznej serii.
- Win32PSCalculator - otwarta implementacja dekodowania młodszych sześciu bitów i wyszukiwania równoważnego trybu.
Publiczne źródła i sformułowania sprawdzono: 2026-08-24.
Historia zmian
Dział zatytułowany „Historia zmian”- 2026-09-20: disclaimer o konflikcie interesów wzmocniony do pełnego sformułowania z przynależnością badania i narzędzi.
- 2026-08-24: dodano dokładne położenie Registry value, udokumentowaną wartość początkową
0x02, Win32PSCalculator i granice interpretacji brakującego DWORD. - 2026-08-24: pierwsza publikacja; dodano pełną historyczną macierz, rozdzielenie mechanizmu i efektu użytkowego oraz rekomendację default.
