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

Buku Putih Lag Game › L1 Proses game di klien

Streaming aset tertinggal akibat storage lambat Slow storage stalls asset streaming

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

Buka kartu interaktif dengan gambar dan simulasi →

Pada storage lambat seperti HDD, kecepatan membaca tekstur dan model di open world tidak bisa mengimbangi gerakan pemain, sehingga objek terlambat muncul atau game patah-patah karena menunggu pembacaan selesai.

Mengapa Bergerak cepat dengan tunggangan atau teleportasi, atau masuk ke tempat ramai, sehingga banyak tekstur dan model baru dibutuhkan sekaligus → Akibatnya Storage lambat seperti HDD tidak bisa membaca secepat yang dibutuhkan sehingga permintaan baca menumpuk, dan sebagian loading membuat main thread menunggu sampai selesai → Di layar Tekstur buram untuk sementara, bangunan dan karakter terlambat muncul, dan saat menunggu pembacaan terjadi patah-patah atau freeze

Gejala
Tidak terlihat / objek hantu, Patah-patah, Freeze
Faktor
Stall
Siapa yang mengalami
Hanya saya
Kapan
Saat bergerak atau pindah area, Saat banyak pemain berkumpul
Penanggung jawab
Penanggung jawab utama Pengembangan klien (Tim Pengembang Game) · Turut terlibat Pihak Eksternal (Pihak Eksternal)
Tugas Tim Pengembang Game
Gunakan streaming asinkron agar main thread tidak menunggu pembacaan, baca lebih awal berdasarkan arah dan kecepatan gerak, tampilkan resolusi rendah (mipmap) dan model sederhana lebih dulu lalu ganti kemudian, batasi kecepatan gerak sebentar atau pakai layar loading jika streaming tertinggal saat bergerak cepat, cantumkan apakah SSD diperlukan di spesifikasi minimum dan yang direkomendasikan.
Tugas Pihak Eksternal
Imbau pemain untuk memasang game di SSD, minta pemain memeriksa apakah ada unduhan atau pemindaian antivirus yang berjalan di disk yang sama.
Kisaran angka
Menurut penjelasan Microsoft, hard disk lama membaca puluhan MB per detik, NVMe SSD membaca beberapa GB per detik, dan game generasi sebelumnya memakai sekitar 50 MB per detik untuk streaming. Jika game yang dirancang dengan asumsi kecepatan SSD dan membaca jauh lebih banyak dari itu dijalankan di HDD, pembacaan mudah tertinggal dari gerakan pemain.
Di grafik
Hanya sebagian yang tinggi · Jumlah lonjakan frame (per jenis storage), latensi baca disk
Yang diperiksa
Rekam PhysicalDisk\Avg. Disk sec/Read (rata-rata waktu satu kali baca) dan Current Disk Queue Length di Performance Monitor Windows bersama frame time PresentMon sambil bergerak cepat. Di development build, periksa stat Streaming dan stat AsyncLoad di Unreal, serta peringatan AssetBundle.asset/allAssets di Unity Profiler (hasil diminta sebelum loading selesai sehingga main thread menunggu)
Cocok jika
Saat bergerak cepat, latensi baca disk dan antrean melonjak, dan pada saat yang sama frame melonjak atau tekstur dan objek terlambat muncul. Hilang jika adegan yang sama dijalankan di SSD
Tidak cocok jika
Disk tidak sibuk, tetapi tekstur buram: lebih mungkin “Kekurangan memori grafis (VRAM)”. Normal sejak kunjungan kedua ke tempat yang sama: lebih mungkin “Pemuatan sinkron dan kompilasi shader di main thread”
Sarana pemeriksaan
Lingkungan pemain sendiri
Pelajari lebih lanjut
Jika game hanya berhenti pada kali pertama lalu normal, penyebabnya lebih dekat ke “Pemuatan sinkron dan kompilasi shader di main thread”. Jika berulang setiap kali bergerak dan hanya di PC dengan storage lambat, penyebabnya adalah yang ini. “Kekurangan memori grafis (VRAM)”, yaitu tekstur diturunkan lalu dinaikkan lagi karena memori grafis kurang, juga membuat tekstur buram, jadi periksa waktu tunggu baca disk dan pemakaian memori grafis bersama-sama. Pemindaian real-time antivirus juga bisa menyela setiap kali game membuka file sehingga pembacaan makin lambat.

Sumber

  1. DirectStorage is coming to PC Microsoft
    Hard disk lama membaca puluhan MB per detik, NVMe SSD beberapa GB per detik, budget streaming aset game generasi sebelumnya sekitar 50 MB per detik, dan game open world membaca serta membuang pemandangan jauh secara real-time sambil pemain bergerak
  2. Texture and mesh loading Unity
    Upload sinkron membaca dan mengunggah data di main thread dalam satu frame sehingga terjadi jeda yang terlihat; upload asinkron melakukan streaming di beberapa frame
  3. Texture Streaming Overview for Unreal Engine Epic Games
    Streamer menaikkan dan menurunkan resolusi tekstur (mip) sesuai sudut pandang; sebagian besar perhitungan dilakukan di worker thread asinkron, dan mip yang terlihat di layar dimuat lebih dulu
  4. Profiler markers reference Unity
    Peringatan AssetBundle.asset/allAssets: hasil diminta sebelum loading selesai sehingga main thread berhenti untuk menunggu
  5. Stat Commands in Unreal Engine Epic Games
    stat Streaming (memori dan jumlah tekstur streaming), stat AsyncLoad (statistik loading asinkron)
  6. Windows Performance Monitor Disk Counters Explained Microsoft
    Avg. Disk sec/Read adalah rata-rata waktu untuk menyelesaikan satu kali baca (latensi I/O), Current Disk Queue Length adalah panjang antrean disk pada saat pengukuran
  7. PresentMon Capture Application (README-CaptureApplication.md) Intel
    Merekam waktu per frame dengan FrameTime (waktu CPU di antara frame)
  8. About regular quick and full scans with Microsoft Defender Antivirus Microsoft
    Perlindungan real-time memeriksa file setiap kali file dibuka dan ditutup

Lihat juga

Lapisan yang sama: L1 Proses game di klien

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

Lihat kartu interaktif dengan gambar dan simulasi