Lewati ke konten

Scheduler, timer, dan foreground boost Windows 11 25H2

Di halaman ini

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.

Diperiksa parameter scheduler dan timer mana yang dibaca oleh kernel, bagaimana nilai dinormalisasi, dan field Win32PrioritySeparation mana yang bertanggung jawab atas apa.

Windows 11 25H2 build 26200.9168, scheduler dan timer paths kernel. Game dan aplikasi tertentu tidak termasuk dalam pengukuran.

Tabel master parameter kernel, pengamatan akses runtime ke Registry, dan pemeriksaan bit field serta normalisasi nilai.

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

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.

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.

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.exe build 26200.9168: Win32PrioritySeparation dibaca saat inisialisasi scheduler dan session initialization, parameter timer — pada fase inisialisasi kernel.
  • Nilai awal dan normalisasi dikonfirmasi: mask 0x3F untuk Win32PrioritySeparation, rentang 17..21 dengan cadangan 16 untuk PassiveIntRealTimeWorkerPriority, satuan 100 ns pada MaxDynamicTickDuration.
  • Pengamatan itu sendiri bersifat kualitatif: nilai latensi, FPS, atau beban latar belakang tidak diukur dalam penelitian ini.
  • Reader dan normalisasi parameter di ntoskrnl.exe build yang diteliti.
  • Nilai awal 0x02 untuk Win32PrioritySeparation dan mask 0x3F.
  • Makna field boost dan kuantum, satuan MaxDynamicTickDuration.
  • Normalisasi PassiveIntRealTimeWorkerPriority hingga rentang 17..21 dengan cadangan 16.
  • Pengaruh perubahan terhadap FPS, latensi, atau responsivitas.
  • Manfaat perubahan tanpa beban yang benar-benar menggunakan timer dan DPC.

Biarkan nilai bawaan. Ubah parameter hanya untuk beban yang benar-benar menjalankan permintaan terkait, dan bandingkan hasilnya dalam run yang sama.

Kembalikan nilai bawaan atau hapus entri opsional. Parameter kernel diterapkan pada boot Windows berikutnya.

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 publik diperiksa: 2026-09-02.

  • 2026-09-20: ditambahkan disclaimer tentang konflik kepentingan; tanggal reviewed/modified diselaraskan.
  • 2026-09-19: ditambahkan bagian «Hasil», tautan silang ke penelitian Win32PrioritySeparation dan 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.