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
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
DirectStorage is coming to PCMicrosoft 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
Texture and mesh loadingUnity Upload sinkron membaca dan mengunggah data di main thread dalam satu frame sehingga terjadi jeda yang terlihat; upload asinkron melakukan streaming di beberapa frame
Texture Streaming Overview for Unreal EngineEpic 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
Profiler markers referenceUnity Peringatan AssetBundle.asset/allAssets: hasil diminta sebelum loading selesai sehingga main thread berhenti untuk menunggu
Stat Commands in Unreal EngineEpic Games stat Streaming (memori dan jumlah tekstur streaming), stat AsyncLoad (statistik loading asinkron)
Windows Performance Monitor Disk Counters ExplainedMicrosoft 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