콘텐츠로 이동

Windows 11 25H2의 Scheduler, timers 및 foreground boost

목차

이 값들은 스케줄러, 타이머 해상도, 클록 인터럽트 분배, DPC 예산을 제어합니다. 이름만으로는 전체 효과를 판단할 수 없습니다. Windows는 비트 마스크를 적용하고 입력 값을 정규화합니다. 서로 다른 레지스트리 항목이 동일한 동작 모드를 지정할 수 있습니다.

커널이 어떤 스케줄러 및 타이머 매개변수를 읽는지, 값이 어떻게 정규화되는지, Win32PrioritySeparation의 어떤 필드가 무엇을 담당하는지 확인했습니다.

Windows 11 25H2 build 26200.9168, 커널의 scheduler 및 timer paths. 특정 게임과 애플리케이션은 측정에 포함되지 않았습니다.

커널 매개변수 마스터 테이블, Registry에 대한 런타임 접근 관찰, 비트 필드 및 값 정규화 검증.

Registry path Value Type Default Reader/timing
HKLM\SYSTEM\CurrentControlSet\Control\PriorityControl Win32PrioritySeparation REG_DWORD 0x02 ntoskrnl.exe, 이후 session initialization
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel GlobalTimerResolutionRequests REG_DWORD 0 kernel phase-0
동일 경로 MaxDynamicTickDuration REG_DWORD 0xFFFFFFFF dynamic tick duration limit
동일 경로 EnablePerCpuClockTickScheduling REG_DWORD 0 phase-1 clock init
동일 경로 DisableLowQosTimerResolution REG_DWORD 1 timer policy init
동일 경로 DpcCumulativeSoftTimeout REG_DWORD 120000 DPC budget init
동일 경로 ForceForegroundBoostDecay REG_DWORD 0 scheduler init
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\I/O System PassiveIntRealTimeWorkerPriority REG_DWORD 16 I/O worker init

값은 비트 필드로 구성됩니다. 커널은 활성 애플리케이션 강화(foreground boost), 퀀텀 유형 및 지속 시간을 별도로 결정합니다. 연구된 빌드에서 클라이언트 Windows의 초기 값은 0x02입니다. 입력 값에 마스크 0x3F가 적용되므로 서로 다른 레지스트리 항목이 하나의 스케줄러 모드를 지정할 수 있습니다.

비트별 비트 필드 분석, 등가 값 계산기, 지연 시간 및 FPS의 과거 측정값은 별도 연구 «Win32PrioritySeparation: задержка и FPS при полной загрузке CPU»로 분리했습니다. 사용자 측면 — 선택, 효과, 복원 — 은 BoosterX 설정 페이지에서 다룹니다.

이 매개변수는 스케줄링 규칙을 변경합니다. 특정 작업에서의 이점을 평가하려면 CPU 부하를 걸고 테스트를 반복하여 지연 시간을 측정해야 합니다. 이 설정이 범용적인 가속을 보장하지는 않습니다.

GlobalTimerResolutionRequests 및 인접 타이머 매개변수는 Session Manager\Kernel에서 읽습니다. 이들은 타이머 해상도 요청의 적용 범위(로컬 또는 시스템 전체)와 CPU 간 클록 인터럽트 분배에 영향을 줍니다. 지원되는 플랫폼에서는 CPU별 클록의 분리 스케줄링이 강제 설정 없이도 작동할 수 있습니다.

MaxDynamicTickDuration는 주기적 클록 없이 유휴 상태에서의 절전 지속 시간을 제한합니다. 측정 단위는 100나노초입니다: 7500는 0.75 ms를 의미하며 7.5 ms가 아닙니다. 상한은 현재 타이머 해상도에 의해 추가로 제한됩니다. 0xFFFFFFFF는 추가 한도를 해제합니다.

DisableLowQosTimerResolution는 낮은 우선순위의 타이머 해상도 요청에 대한 제한을 변경합니다. 이 자체로 지속적인 높은 해상도가 설정되지는 않습니다.

타이머 규칙은 실제로 그러한 요청을 수행하는 부하에 대해서만 변경해야 합니다. 지속적인 높은 해상도는 타이머 인터럽트 수와 에너지 소비를 증가시킵니다.

DpcCumulativeSoftTimeout는 DPC 총 실행 시간 예산을 설정합니다. 정규화 경계, DpcWatchdogPeriod와의 관계, 인접 DPC 매개변수 및 worker 한도는 연구 «DPC и Kernel Executive workers в Windows 11 25H2»에서 분석했습니다. 여기서는 다시 설명하지 않습니다. ForceForegroundBoostDecay는 활성 애플리케이션 강화의 감쇠 규칙을 변경하고, PassiveIntRealTimeWorkerPriority는 특수 입출력 작업 스레드의 우선순위를 설정합니다. PassiveIntRealTimeWorkerPriority의 경우 코드는 17..21를 허용하며, 레지스트리 항목이 없으면 16가 사용됩니다. 값 18는 허용되며 우선순위를 높입니다.

비교할 때는 측정 단위와 범위 제한을 고려하십시오. 커널은 지원되지 않는 값을 정규화하므로 기록된 숫자가 실제 적용된 값과 다를 수 있습니다.

이 매개변수들은 시스템 스케줄링과 드라이버 진단에 관련됩니다. DPC/ISR 트레이스 없이는 수동 변경에 대한 신뢰할 수 있는 근거가 없습니다.

  • 테이블의 모든 매개변수 읽기는 ntoskrnl.exe 빌드 26200.9168에서 확인되었습니다: Win32PrioritySeparation는 스케줄러 초기화 및 session initialization 시 읽히고, 타이머 매개변수는 커널 초기화 단계에서 읽힙니다.
  • 초기 값과 정규화가 확인되었습니다: Win32PrioritySeparation에 대한 마스크 0x3F, PassiveIntRealTimeWorkerPriority에 대한 범위 17..21와 예비 값 16, MaxDynamicTickDuration의 100 ns 단위.
  • 관찰 자체는 정성적입니다: 이 연구에서는 지연 시간, FPS 또는 백그라운드 부하 값이 측정되지 않았습니다.
  • 연구된 빌드의 ntoskrnl.exe에서의 Readers 및 매개변수 정규화.
  • Win32PrioritySeparation에 대한 초기 값 0x02 및 마스크 0x3F.
  • boost 및 퀀텀 필드의 의미, MaxDynamicTickDuration의 단위.
  • 예비 값 16에서 PassiveIntRealTimeWorkerPriority가 범위 17..21로 정규화됨.
  • 변경이 FPS, 지연 시간 또는 응답성에 미치는 영향.
  • 타이머와 DPC를 실제로 사용하는 부하 없이 변경하는 것의 이점.

기본값을 유지하십시오. 해당 요청을 실제로 수행하는 부하에 대해서만 매개변수를 변경하고, 동일한 조건의 실행에서 결과를 비교하십시오.

기본값을 되돌리거나 선택적 레지스트리 항목을 삭제하십시오. 커널 매개변수는 다음 Windows 부팅 시 적용됩니다.

부팅 phase 0에서의 읽기는 Procmon 기록 간격에 포함되지 않을 수 있습니다. 이 연구는 빌드 26200.9168에서의 읽기 코드와 정규화를 확인합니다. 문서 데이터에는 독립적인 관찰 실행 횟수(부팅 및 트레이스)가 기록되지 않았으므로, 리더 관찰 자체의 반복성은 정량적으로 평가되지 않았습니다. 성능이나 지연 시간에 대한 범용적 영향은 확인되지 않았습니다.

이 연구와 사용된 도구는 BoosterX 개발자에게 속하므로 개발자는 결과에 직접적인 이해관계가 있습니다. 방법론과 적용 범위는 위에 설명되어 있으며, 결론은 공개 데이터와 나열된 공개 출처를 통해 검증할 수 있습니다.

공개 출처 확인일: 2026-09-02.

  • 2026-09-20: 이해충돌 면책 조항 추가, reviewed/modified 날짜 정합성 맞춤.
  • 2026-09-19: «결과» 섹션, Win32PrioritySeparation 및 DPC/worker 매개변수 연구에 대한 상호 참조, BoosterX 설정 페이지 추가, 관찰 실행 횟수 미기재 사실 명시.
  • 2026-09-02: 최초 게시, readers, 정규화 및 비트 필드 확인, 실용적 이점의 경계 추가.