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 비활성화 |
DWM 및 Games 프로필
섹션 제목: “DWM 및 Games 프로필”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 및 NoLazyMode
섹션 제목: “LazyModeTimeout 및 NoLazyMode”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를 전체 주기로 유지하여 백그라운드 활동을 증가시킵니다.
Timing 및 증거
섹션 제목: “Timing 및 증거”mmcss.sys는 서비스/드라이버 시작 시 root 및 task profiles를 읽습니다. bootlog에서 NoLazyMode 및 프로필에 대한 접근이 관찰되었습니다. 없는 값에 대해서는 NAME NOT FOUND가 기록된 후 코드 default가 적용되었습니다. 이는 Registry 구성이 작동하는 정상적인 방식입니다.
확인된 것
섹션 제목: “확인된 것”- 25H2 깨끗한 구성에서
Window Manager에 대한Medium/5및Games에 대한Medium/2값. Scheduling Category및Priority가 없을 때 fallbackLow/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를 삭제하여 수행됩니다.
출처 및 제한 사항
섹션 제목: “출처 및 제한 사항”- Multimedia Class Scheduler Service, Microsoft Learn, 2026-09-01 확인.
- MMCSS task profiles, task categories 및 SystemProfile 설명.
결과는 Windows 11 25H2 build 26200.9168에 해당합니다. 구체적인 workload, GPU driver 및 물리적 지연은 이 문서에서 측정하지 않았습니다.
관찰의 동적 부분을 재현하는 방법은 직접 확인하는 방법을 참조하십시오.
연구 및 사용된 도구는 BoosterX 개발자에게 속하므로, 개발자는 결과에 직접적인 이해관계가 있습니다. 방법론과 적용 범위는 위에 설명되어 있으며, 결론은 공개 데이터와 나열된 공개 출처를 통해 확인할 수 있습니다.
공개 출처 확인: 2026-09-02.
변경 이력
섹션 제목: “변경 이력”- 2026-09-20: 이해 충돌에 대한 면책 조항 및 방법론에 동적 관찰의 자기 검증 링크 추가.
- 2026-09-02: 최초 게시, 프로필 읽기, defaults 및 fallback 값 확인, 실용적 효과의 경계 추가.
