Scheduler, timer, dan foreground boost Windows 11 25H2
Di halaman ini
Jawaban singkat
Section titled “Jawaban singkat”Nilai-nilai ini mengatur scheduler, resolusi timer, distribusi interupsi clock, dan anggaran DPC. Dari namanya saja tidak bisa ditentukan efek keseluruhannya: Windows menerapkan bitmask dan menormalisasi nilai masukan. Entri yang berbeda dapat menetapkan mode kerja yang sama.
Yang diperiksa
Section titled “Yang diperiksa”Diperiksa parameter scheduler dan timer mana yang dibaca oleh kernel, bagaimana nilai dinormalisasi, dan field Win32PrioritySeparation mana yang bertanggung jawab atas apa.
Cakupan penelitian
Section titled “Cakupan penelitian”Windows 11 25H2 build 26200.9168, scheduler dan timer paths kernel. Game dan aplikasi tertentu tidak termasuk dalam pengukuran.
Metodologi
Section titled “Metodologi”Tabel master parameter kernel, pengamatan akses runtime ke Registry, dan pemeriksaan bit field serta normalisasi nilai.
Parameter kanonis
Section titled “Parameter kanonis”| Registry path | Value | Type | Default | Reader/timing |
|---|---|---|---|---|
HKLM\SYSTEM\CurrentControlSet\Control\PriorityControl |
Win32PrioritySeparation |
REG_DWORD |
0x02 |
ntoskrnl.exe, lalu session initialization |
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel |
GlobalTimerResolutionRequests |
REG_DWORD |
0 |
kernel phase-0 |
| jalur yang sama | MaxDynamicTickDuration |
REG_DWORD |
0xFFFFFFFF |
dynamic tick duration limit |
| jalur yang sama | EnablePerCpuClockTickScheduling |
REG_DWORD |
0 |
phase-1 clock init |
| jalur yang sama | DisableLowQosTimerResolution |
REG_DWORD |
1 |
timer policy init |
| jalur yang sama | DpcCumulativeSoftTimeout |
REG_DWORD |
120000 |
DPC budget init |
| jalur yang sama | ForceForegroundBoostDecay |
REG_DWORD |
0 |
scheduler init |
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\I/O System |
PassiveIntRealTimeWorkerPriority |
REG_DWORD |
16 |
I/O worker init |
Win32PrioritySeparation
Section titled “Win32PrioritySeparation”Nilai terdiri dari bit field. Kernel secara terpisah menentukan penguatan aplikasi aktif (foreground boost), jenis dan durasi kuantum. Pada build yang diteliti, nilai awal Windows klien adalah 0x02. Terhadap nilai masukan diterapkan mask 0x3F, sehingga entri yang berbeda dapat menetapkan satu mode scheduler.
Penguraian bit field per bit, kalkulator nilai ekuivalen, dan pengukuran historis latensi serta FPS dipisahkan ke penelitian tersendiri «Win32PrioritySeparation: latensi dan FPS pada beban CPU penuh». Sisi pengguna dari pertanyaan ini — pemilihan, efek, dan pengembalian — ditangani oleh halaman pengaturan BoosterX.
Parameter ini mengubah aturan penjadwalan. Untuk menilai manfaatnya pada tugas tertentu, perlu mengulang tes dengan beban CPU dan mengukur latensi; pengaturan ini tidak menjamin percepatan universal.
Timer policy
Section titled “Timer policy”GlobalTimerResolutionRequests dan parameter timer di sekitarnya dibaca dari Session Manager\Kernel. Parameter ini memengaruhi cakupan permintaan resolusi timer, lokal atau seluruh sistem, dan distribusi interupsi clock antar CPU. Pada platform yang didukung, penjadwalan clock terpisah per CPU dapat bekerja bahkan tanpa pengaturan paksa.
MaxDynamicTickDuration membatasi durasi tidur saat idle tanpa clock periodik. Satuan ukurannya adalah 100 nanodetik: 7500 berarti 0.75 ms, bukan 7.5 ms. Batas atas juga dibatasi oleh resolusi timer saat ini. 0xFFFFFFFF menghapus batas tambahan.
DisableLowQosTimerResolution mengubah batas untuk permintaan resolusi timer berprioritas rendah. Resolusi tinggi yang permanen dengan sendirinya tidak ditetapkan.
Mengubah aturan timer sebaiknya hanya untuk beban yang benar-benar menjalankan permintaan tersebut. Resolusi tinggi yang permanen meningkatkan jumlah interupsi timer dan konsumsi daya.
DPC budget dan boost decay
Section titled “DPC budget dan boost decay”DpcCumulativeSoftTimeout menetapkan anggaran total waktu eksekusi DPC. Batas normalisasinya, kaitannya dengan DpcWatchdogPeriod, serta parameter DPC dan batas worker di sekitarnya dibahas dalam penelitian «DPC dan Kernel Executive workers di Windows 11 25H2»; di sini tidak diulang. ForceForegroundBoostDecay mengubah aturan peluruhan penguatan aplikasi aktif, dan PassiveIntRealTimeWorkerPriority menetapkan prioritas thread kerja khusus input-output. Untuk PassiveIntRealTimeWorkerPriority, kode menerima 17..21; jika tidak ada entri, digunakan 16. Nilai 18 diperbolehkan dan menaikkan prioritas.
Saat membandingkan, perhatikan satuan ukuran dan batas rentang. Kernel menormalisasi nilai yang tidak didukung, sehingga angka yang tercatat dapat berbeda dari yang sebenarnya diterapkan.
Parameter ini berkaitan dengan penjadwalan sistem dan diagnostik driver. Tanpa trace DPC/ISR tidak ada dasar yang andal untuk mengubahnya secara manual.
- Pembacaan semua parameter tabel dikonfirmasi di
ntoskrnl.exebuild26200.9168:Win32PrioritySeparationdibaca saat inisialisasi scheduler dan session initialization, parameter timer — pada fase inisialisasi kernel. - Nilai awal dan normalisasi dikonfirmasi: mask
0x3FuntukWin32PrioritySeparation, rentang17..21dengan cadangan16untukPassiveIntRealTimeWorkerPriority, satuan 100 ns padaMaxDynamicTickDuration. - Pengamatan itu sendiri bersifat kualitatif: nilai latensi, FPS, atau beban latar belakang tidak diukur dalam penelitian ini.
Yang dikonfirmasi
Section titled “Yang dikonfirmasi”- Reader dan normalisasi parameter di
ntoskrnl.exebuild yang diteliti. - Nilai awal
0x02untukWin32PrioritySeparationdan mask0x3F. - Makna field boost dan kuantum, satuan
MaxDynamicTickDuration. - Normalisasi
PassiveIntRealTimeWorkerPriorityhingga rentang17..21dengan cadangan16.
Yang tidak dikonfirmasi
Section titled “Yang tidak dikonfirmasi”- Pengaruh perubahan terhadap FPS, latensi, atau responsivitas.
- Manfaat perubahan tanpa beban yang benar-benar menggunakan timer dan DPC.
Kesimpulan praktis
Section titled “Kesimpulan praktis”Biarkan nilai bawaan. Ubah parameter hanya untuk beban yang benar-benar menjalankan permintaan terkait, dan bandingkan hasilnya dalam run yang sama.
Pemulihan keadaan
Section titled “Pemulihan keadaan”Kembalikan nilai bawaan atau hapus entri opsional. Parameter kernel diterapkan pada boot Windows berikutnya.
Keterbatasan
Section titled “Keterbatasan”Pembacaan pada fase 0 boot mungkin tidak masuk ke interval perekaman Procmon. Penelitian ini mengonfirmasi kode pembacaan dan normalisasi pada build 26200.9168. Jumlah run pengamatan independen (boot dan trace) tidak dicatat dalam data artikel, sehingga keterulangan pengamatan reader itu sendiri tidak dinilai secara kuantitatif. Pengaruh universal terhadap performa atau latensi tidak ditetapkan.
Penelitian dan alat yang digunakan dimiliki oleh pengembang BoosterX, sehingga pengembang memiliki kepentingan langsung terhadap hasilnya. Metodologi dan batas penerapannya dijelaskan di atas, dan kesimpulannya dapat diverifikasi melalui data terbuka serta sumber publik yang tercantum.
Sumber
Section titled “Sumber”- Win32PrioritySeparation, Microsoft Learn, diperiksa 2026-09-01.
- Timer resolution, Microsoft Learn, diperiksa 2026-09-01.
Sumber publik diperiksa: 2026-09-02.
Riwayat perubahan
Section titled “Riwayat perubahan”- 2026-09-20: ditambahkan disclaimer tentang konflik kepentingan; tanggal reviewed/modified diselaraskan.
- 2026-09-19: ditambahkan bagian «Hasil», tautan silang ke penelitian
Win32PrioritySeparationdan parameter DPC/worker serta halaman pengaturan BoosterX; dicatat tidak adanya jumlah run pengamatan. - 2026-09-02: publikasi pertama; reader, normalisasi, dan bit field dikonfirmasi, batas manfaat praktis ditambahkan.
