Przejdź do głównej zawartości

Win32PrioritySeparation: opóźnienie i FPS przy pełnym obciążeniu CPU

Na tej stronie

Krótka odpowiedź: Win32PrioritySeparation rzeczywiś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, a 0x1A zró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, a 0x1A uważ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.

Weryfikowaliśmy trzy różne twierdzenia, których nie można łączyć:

  1. Parametr istnieje i jest związany z polityką harmonogramu Windows.
  2. Wartości 0x02 i 0x1A reprezentują różne polityki kwantów przy tym samym maksymalnym foreground boost.
  3. 0x1A poprawia 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.

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.

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.

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.

Dekoder 6-bitowy

Sprawdzanie trybu rzeczywistego

Win32PSCalculator ↗

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.

Hex z prefiksem 0x, bez prefiksu — decimal.

Tryb równoważny0x26

Windows default: w klienckim Windows odpowiada jawnemu trybowi 0x26.

000010
Wprowadzono
0x00000002 · 2
Po masce 0x3F
0x02 · 2
Kwanty
Systemowy default → krótkie
Typ
Systemowy default → zmienne
Wzmocnienie foreground
Maksymalny · 3:1

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.

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ć.

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.

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.

  • 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 0x26 pokazał najmniejsze średnie opóźnienie.
  • W tym samym historycznym capture 0x1A pokazał największy FPS AVG i P1 wśród stanów z wysokim boost.
  • Że 0x1A zawsze podnosi FPS, P1 lub płynność klatek.
  • Że 0x1A zmniejsza 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.

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.

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.

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 i sformułowania sprawdzono: 2026-08-24.

  • 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.