콘텐츠로 이동

MMCSS, DWM 및 Windows 11 25H2의 Games 프로필

목차

MMCSS는 time-sensitive multimedia tasks에 CPU 우선 접근을 부여하지만, 이를 절대적인 realtime으로 만들지는 않습니다. Window Manager 및 Games 프로필은 해당 작업 이름으로 등록된 스레드의 분류에만 영향을 줍니다. 기본값을 삭제해도 프로필이 복원되지 않습니다. 대신 코드에 있는 더 낮은 fallback 값이 활성화됩니다.

MMCSS가 Window Manager 및 Games 프로필을 어떻게 읽는지, 레코드가 없을 때 어떤 값이 적용되는지, 우선순위와 lazy mode 변경이 무엇을 바꾸는지 확인했습니다.

Windows 11 25H2 build 26200.9168, mmcss.sys 및 boot-time 관찰. 구체적인 workload, GPU 드라이버 및 물리적 지연은 측정하지 않았습니다.

mmcss.sys 분석, bootlog에서 프로필 읽기 관찰, 정규화 및 fallback 값 검증.

루트 경로:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile

DWM 프로필:

...\Tasks\Window Manager

게임 프로필:

...\Tasks\Games

Value Type 25H2의 Window Manager 25H2의 Games 확인된 역할
Scheduling Category REG_SZ Medium Medium scheduler policy 범주
Priority REG_DWORD 5 2 1..8 범위의 작업 우선순위
Priority When Yielded REG_DWORD 없음, fallback 16 없음, fallback 16 CPU 양보 후 상한

루트 SystemProfile의 값:

Value Type 25H2 상태 확인된 역할
LazyModeTimeout REG_DWORD 없음, fallback 1000000 100-ns 단위의 lazy mode 타이머
NoLazyMode REG_DWORD 없음, fallback 0 idle detector 비활성화

mmcss.sys는 프로필 초기화 시 Scheduling Category, Priority 및 Priority When Yielded을 읽습니다. 문서화된 활성 범주 대역: Low — 8..15, Medium — 16..22, High — 23..26. High의 경우 활성 대역의 Priority 값은 항상 2로 해석되므로, 6 또는 8 레코드는 숫자가 시사하는 것처럼 High 프로필을 올리지 않습니다.

연구된 빌드의 깨끗한 상태에서 Games 프로필은 Medium/2를 가졌고, Window Manager는 Medium/5를 가졌습니다. Priority When Yielded는 둘 다 없었으므로 fallback 16가 적용되었습니다. High/6/13 및 High/8/13 조합은 변경된 구성이며 Windows defaults가 아닙니다. 13 값은 fallback 16에 비해 CPU 양보 후 강등을 강화합니다.

유용성: 프로필은 분류된 스레드에 대한 scheduler policy를 설명합니다. 범주 상향 자체가 최종 workload의 개선을 증명하지는 않습니다. CPU 경쟁을 증가시킬 수 있습니다.

LazyModeTimeout는 100-ns 단위로 측정됩니다. Fallback 1000000는 100 ms이고, 10000는 1 ms입니다. 0은 fallback으로 대체되며, 확인된 reader에는 상한 clamp가 없습니다. NoLazyMode는 부울입니다. 0는 idle detector를 활성 상태로 두고, 0이 아닌 모든 값은 이를 비활성화합니다. NoLazyMode가 활성화되면 LazyModeTimeout 경로는 사실상 도달할 수 없으므로, 이러한 설정은 독립적으로 평가할 수 없습니다.

유용성: timeout 감소는 lazy scheduler 주기를 가속할 뿐, 활성 스레드의 우선순위를 높이지 않습니다. NoLazyMode=1는 idle-demotion path를 제거하지만 Priority When Yielded를 취소하지 않고 MMCSS를 전체 주기로 유지하여 백그라운드 활동을 증가시킵니다.

mmcss.sys는 서비스/드라이버 시작 시 root 및 task profiles를 읽습니다. bootlog에서 NoLazyMode 및 프로필에 대한 접근이 관찰되었습니다. 없는 값에 대해서는 NAME NOT FOUND가 기록된 후 코드 default가 적용되었습니다. 이는 Registry 구성이 작동하는 정상적인 방식입니다.

  • 25H2 깨끗한 구성에서 Window Manager에 대한 Medium/5 및 Games에 대한 Medium/2 값.
  • Scheduling Category 및 Priority가 없을 때 fallback Low/1, 그리고 Priority When Yielded에 대한 16.
  • 범주 경계 및 High에 대한 Priority 해석.
  • LazyModeTimeout의 단위 및 fallback, NoLazyMode의 부울 동작.
  • FPS, frametime 및 물리적 지연에 대한 프로필의 영향.
  • 특정 게임 및 애플리케이션에 대한 우선순위 변경의 이점.

일반 시스템의 경우 기본 Medium/5 및 Medium/2를 유지하십시오. 정확한 복원을 위해 Scheduling Category 및 Priority를 삭제해서는 안 됩니다. 없을 때의 fallback은 Low/1이므로, 프로필이 기본보다 약해집니다. 복원은 기본 쌍을 명시적으로 기록하고 선택적 Priority When Yielded를 삭제하여 수행됩니다.

결과는 Windows 11 25H2 build 26200.9168에 해당합니다. 구체적인 workload, GPU driver 및 물리적 지연은 이 문서에서 측정하지 않았습니다.

관찰의 동적 부분을 재현하는 방법은 직접 확인하는 방법을 참조하십시오.

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

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

  • 2026-09-20: 이해 충돌에 대한 면책 조항 및 방법론에 동적 관찰의 자기 검증 링크 추가.
  • 2026-09-02: 최초 게시, 프로필 읽기, defaults 및 fallback 값 확인, 실용적 효과의 경계 추가.