한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Buku Putih Lag Game › L2 OS dan perangkat klien

Resolusi timer Timer resolution (Windows 15.6ms)

ID penyebab co-timer · Penanggung jawab utama Pengembangan klien (Tim Pengembang Game)

Buka kartu interaktif dengan gambar dan simulasi →

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

Gejala
Patah-patah
Faktor
Jitter
Siapa yang mengalami
Hanya saya
Kapan
Selalu
Penanggung jawab
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

  1. _WDF_TIMER_CONFIG (wdftimer.h) Microsoft
    Akurasi timer biasa adalah interval tick clock sistem, default 15,6 ms; timer resolusi tinggi 1 ms
  2. 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
  3. CreateWaitableTimerExW function (synchapi.h) Microsoft
    Flag waitable timer resolusi tinggi CREATE_WAITABLE_TIMER_HIGH_RESOLUTION
  4. PresentMon Capture Application (README-CaptureApplication.md) Intel
    MsBetweenPresents: waktu (ms) antara pemanggilan Present() saat ini dan pemanggilan sebelumnya
  5. Results for the Idle Energy Efficiency Assessment Microsoft
    Resolusi timer sistem default 15,6 ms; proses yang mengubah resolusi timer bisa ditemukan di bagian “Platform Timer Resolution” laporan energi
  6. Powercfg command-line options Microsoft
    powercfg /energy: menganalisis sistem dan membuat laporan energi (HTML)

Lihat juga

Lapisan yang sama: L2 OS dan perangkat klien

Penyebab di lapisan lain dengan gejala yang sama (Patah-patah)

Lihat kartu interaktif dengan gambar dan simulasi