Timer default Windows bekerja dalam satuan 15,6 ms, sehingga “tidur 1 ms saja” sebenarnya memanjang sampai siklus timer berikutnya, paling lama 15,6 ms.
Mengapa Batas frame dan pengiriman paket diimplementasikan dengan Sleep (menunggu sebentar) → Akibatnya OS hanya membangunkan thread dalam satuan 15,6 ms → Di layar Interval frame dan interval pengiriman input tidak beraturan
Penanggung jawab utama Pengembangan klien (Tim Pengembang Game)
Tugas Tim Pengembang Game
Gunakan timer resolusi tinggi, atur pacing berbasis event atau V-Sync tanpa menunggu dengan sleep.
Kisaran angka
Dengan satuan 15,6 ms, interval 16,7 ms tidak bisa dicapai, sehingga interval frame bolak-balik antara 15,6 ms dan 31,2 ms.
Di grafik
Selalu tinggi sejak awal · Distribusi interval frame
Yang diperiksa
Periksa distribusi MsBetweenPresents (interval frame) di PresentMon dan bagian “Platform Timer Resolution” di laporan powercfg /energy (proses yang mengubah resolusi timer)
Cocok jika
Interval frame terkumpul di kelipatan 15,6 ms seperti 15,6 ms dan 31,2 ms, dan game tidak meminta resolusi timer yang lebih tinggi
Tidak cocok jika
Interval tersebar merata: kecil kemungkinan karena timer, lebih mungkin “Pemakaian CPU oleh proses di latar belakang” atau beban frame
Sarana pemeriksaan
Lingkungan pemain sendiri
Pelajari lebih lanjut
Di Windows versi lama, jika satu program mengubah timer menjadi 1 ms, perubahan itu berlaku untuk semua program. Karena itu sempat ada anggapan “game jadi lebih mulus kalau browser dibiarkan terbuka”. Sejak Windows 10 versi 2004, perubahan hanya berlaku untuk program yang memintanya, dan Windows 11 bisa mengabaikan permintaan dari jendela yang diminimalkan atau tertutup sepenuhnya dan tidak mengeluarkan suara.
Sumber
_WDF_TIMER_CONFIG (wdftimer.h)Microsoft Akurasi timer biasa adalah interval tick clock sistem, default 15,6 ms; timer resolusi tinggi 1 ms
timeBeginPeriod function (timeapi.h)Microsoft Sebelum Windows 10 2004 berupa pengaturan global, sesudahnya hanya berlaku untuk proses yang meminta; Windows 11 tidak menjamin resolusi tinggi untuk proses dengan jendela yang tertutup atau diminimalkan
Results for the Idle Energy Efficiency AssessmentMicrosoft Resolusi timer sistem default 15,6 ms; proses yang mengubah resolusi timer bisa ditemukan di bagian “Platform Timer Resolution” laporan energi