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

Buku Putih Lag Game › Masalah yang hanya dialami sebagian pemain

Pemrosesan dibatasi di jendela latar belakang Background window throttling

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

Buka kartu interaktif dengan gambar dan simulasi →

Untuk klien di jendela latar belakang, game, engine, dan OS mengurangi frame dan pemrosesan. Paket yang diterima tidak sempat diproses tepat waktu, sehingga menumpuk atau meluap.

Mengapa Batas frame latar belakang di opsi game atau driver grafis (misalnya, di driver NVIDIA bisa diatur 20–200 frame per detik), mode hemat daya, pengaturan engine yang menghentikan game di latar belakang. OS juga memprioritaskan CPU dan GPU untuk jendela di depan (foreground) → Akibatnya Jumlah paket yang diproses per frame berkurang sehingga antrean menumpuk, dan paket dibuang jika buffer terima meluap → Di layar Saat jendela dibawa ke depan, semuanya muncul sekaligus, atau sebagian NPC tetap tidak terlihat

Gejala
Tidak terlihat / objek hantu, Fast forward, Disconnect
Faktor
Stall, Packet loss
Siapa yang mengalami
Hanya satu klien di PC yang sama
Kapan
Setelah lama diam, Selalu
Penanggung jawab
Penanggung jawab utama Pengembangan klien (Tim Pengembang Game) · Turut terlibat Pihak Eksternal (Pihak Eksternal)
Tugas Tim Pengembang Game
Terus terima data jaringan di thread terpisah dari game loop, jamin throughput minimum di latar belakang, aktifkan pengaturan engine untuk berjalan di latar belakang (runInBackground di Unity).
Tugas Pihak Eksternal
Imbau pemain untuk mematikan batas frame latar belakang di driver grafis dan mode hemat daya PC.
Kisaran angka
Di Unity, jika runInBackground dimatikan, game loop berhenti begitu jendela kehilangan fokus. Jika paket hanya diterima di loop itu, tidak ada paket yang diproses sama sekali selama itu.
Di grafik
Kosong lalu datang sekaligus · Interval frame klien, jumlah paket yang diproses per frame
Yang diperiksa
Di PC yang sama, letakkan satu jendela di depan dan yang lain di belakang, lalu tukar posisinya dan bandingkan. Ukur interval frame kedua proses dengan PresentMon, dan jika ada log dari game, periksa status fokus jendela dan jumlah paket yang diproses per frame
Cocok jika
Interval frame melebar jauh hanya saat jendela di latar belakang (jika karena batas driver, intervalnya mendatar di nilai yang sesuai dengan frame rate yang diatur) atau pemrosesan berhenti, dan saat jendela ditukar, masalahnya ikut pindah ke klien lain
Tidak cocok jika
Terjadi sama persis di jendela depan: bukan karena pembatasan latar belakang. Selalu klien yang sama yang bermasalah tanpa peduli posisi jendela: lebih mungkin perbedaan opsi tampilan atau versi
Sarana pemeriksaan
Lingkungan pemain sendiri

Sumber

  1. Application.runInBackground Unity
    Nilai default runInBackground adalah false, dan dengan nilai itu aplikasi dijeda di latar belakang
  2. Manage 3D Settings (reference) — NVIDIA Control Panel Help NVIDIA
    Background Application Max Frame Rate: membatasi frame maksimum game di latar belakang pada 20–200 frame per detik
  3. Priority Boosts Microsoft
    Windows menaikkan prioritas proses milik jendela foreground hingga setara atau lebih tinggi dari proses di latar belakang
  4. PresentMon README Intel
    Tool yang mengumpulkan frame time CPU, GPU, dan display per aplikasi untuk aplikasi grafis Windows

Lihat juga

Lapisan yang sama: Masalah yang hanya dialami sebagian pemain

Penyebab di lapisan lain dengan gejala yang sama (Tidak terlihat / objek hantu)

Lihat kartu interaktif dengan gambar dan simulasi