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

Buku Putih Lag Game › L1 Proses game di klien

V-Sync dan antrean render V-Sync, render queue

ID penyebab cg-vsync · Penanggung jawab utama Pengembangan klien (Tim Pengembang Game) · Turut terlibat Pihak Eksternal (Pihak Eksternal)

Buka kartu interaktif dengan gambar dan simulasi →

Frame yang sudah digambar GPU ditumpuk beberapa buah di antrean, lalu dikirim ke layar mengikuti siklus refresh monitor; selama itu input terlambat.

Mengapa Driver grafis menumpuk 1–3 frame lebih dulu di antrean → Akibatnya Input butuh waktu lebih lama sebanyak itu sampai tampil di layar → Di layar Ping rendah, tetapi kontrol terasa berat dan lamban

Gejala
Input lag, Patah-patah
Faktor
Latensi
Siapa yang mengalami
Hanya saya
Kapan
Selalu
Penanggung jawab
Penanggung jawab utama Pengembangan klien (Tim Pengembang Game) · Turut terlibat Pihak Eksternal (Pihak Eksternal)
Tugas Tim Pengembang Game
Dukung mode latensi rendah, perkecil antrean frame, sediakan opsi batas FPS sedikit di bawah refresh rate, aktifkan fitur frame pacing di ponsel.
Tugas Pihak Eksternal
Imbau pemain untuk memasang batas FPS sedikit di bawah refresh rate saat memakai monitor variable refresh rate, dan untuk mengaktifkan mode latensi rendah di driver grafis.
Kisaran angka
Pada 60 Hz, satu frame 16,7 ms. Jika CPU lebih cepat dari GPU atau siklus layar sehingga antrean tiga frame (default DirectX 11) penuh, latensinya bertambah 50 ms. Pada V-Sync double buffer, frame yang butuh 17 ms harus menunggu sampai refresh layar berikutnya (33,3 ms), dan selama itu frame sebelumnya tampil sekali lagi.
Di grafik
Selalu tinggi sejak awal · Latensi dari input hingga layar
Yang diperiksa
Bandingkan MsClickToPhotonLatency dan MsAllInputToPhotonLatency (dari input mouse dan keyboard sampai dikirim ke layar) serta DisplayLatency di PresentMon sambil mengganti V-Sync, mode latensi rendah, dan batas FPS. MsPCLatency (sejak PC menerima input sampai dikirim ke layar) hanya tercatat jika game mengirim event PC Latency
Cocok jika
Saat V-Sync aktif atau tanpa batas FPS, latensi ini bertambah satu atau dua frame (puluhan ms), lalu berkurang dengan mode latensi rendah atau batas FPS sedikit di bawah refresh rate. Ping tidak berubah
Tidak cocok jika
Latensi di dalam PC rendah, tetapi kontrol tetap terlambat: lebih mungkin “Latensi layar, perangkat input, dan frame generation”. Ping tinggi: mengarah ke sisi jaringan
Sarana pemeriksaan
Lingkungan pemain sendiri
Pelajari lebih lanjut
V-Sync (vertical sync) adalah pengaturan yang hanya mengirim frame baru tepat saat monitor mengganti gambar. Screen tearing hilang, tetapi input terlambat sebanyak waktu menunggu momen itu, dan jika FPS turun di bawah 60, FPS bolak-balik antara 60 dan 30 sehingga game patah-patah. Monitor variable refresh rate mengganti gambar mengikuti saat frame siap sehingga waktu tunggu ini berkurang. Hal yang sama terjadi di ponsel. Jika game 30 FPS tidak bisa mengirim frame secara merata ke layar 60 Hz, rata-ratanya memang 30 FPS, tetapi tiap frame tampil dengan lama yang tidak beraturan seperti 49, 16, dan 33 ms sehingga game patah-patah (contoh dari dokumentasi developer Android). Masalah ini dikurangi dengan library frame pacing Android (meratakan interval keluaran frame) atau opsi serupa di engine.

Sumber

  1. IDXGIDevice1::SetMaximumFrameLatency Microsoft
    Default jumlah frame yang bisa ditumpuk driver di antrean adalah 3 (1–16)
  2. Reduce latency with DXGI 1.3 swap chains Microsoft
    Present terblokir sampai antrean kosong sehingga frame menunggu hampir satu frame lagi antara selesai digambar dan ditampilkan; dikurangi dengan waitable swap chain
  3. Frame Pacing library Android (Google)
    Di layar 60 Hz, jika tidak ada frame baru, frame sebelumnya ditampilkan lagi; contoh frame time game 30 FPS yang tidak beraturan seperti 49, 16, dan 33 ms
  4. PresentMon Capture Application (README-CaptureApplication.md) Intel
    MsPCLatency (sejak PC menerima input hingga dikirim ke layar), MsClickToPhotonLatency (klik mouse hingga layar), MsAllInputToPhotonLatency (input keyboard dan mouse hingga layar), DisplayLatency (frame diserahkan hingga dikirim ke monitor)
  5. PresentMon Console Application (README-ConsoleApplication.md) Intel
    MsPCLatency hanya tercatat jika aplikasi mengirim event PC Latency (--track_pc_latency), MsAllInputToPhotonLatency diukur dari input keyboard dan mouse

Lihat juga

Lapisan yang sama: L1 Proses game di klien

Penyebab di lapisan lain dengan gejala yang sama (Input lag)

Lihat kartu interaktif dengan gambar dan simulasi