คู่มือเกมแลค › L1 โปรเซสเกมฝั่งไคลเอนต์
ไคลเอนต์แครช Client crash
ID สาเหตุ cg-crash · ผู้รับผิดชอบหลัก พัฒนาไคลเอนต์ (ทีมพัฒนาเกม) · ร่วมกับ ภายนอก (ภายนอก)
เปิดการ์ดในฉบับหลักที่มีภาพและการทดลอง →
เกมปิดตัวลงเพราะข้อผิดพลาดที่ไม่ได้จัดการ ผู้เล่นเห็นเหมือนหลุด แต่เซิร์ฟเวอร์ปกติ
ทำไม null reference, หน่วยความจำไม่พอ, ไดรเวอร์กราฟิกผิดพลาด → ผลคือ โปรเซสเกมถูกบังคับปิด → บนหน้าจอ มีคนแจ้งว่า “เกมเด้ง” ขณะที่คนอื่นในเวลาเดียวกันปกติ
- อาการ
- หลุด
- ปัจจัย
- การหยุดชะงัก
- ใครเจอ
- เราคนเดียว
- เกิดเมื่อไร
- ตอนทำแอ็กชันบางอย่าง, สุ่มเป็นครั้งคราว
- ผู้รับผิดชอบ
- ผู้รับผิดชอบหลัก พัฒนาไคลเอนต์ (ทีมพัฒนาเกม) · ร่วมกับ ภายนอก (ภายนอก)
- งานฝั่งทีมพัฒนาเกม
- เก็บ crash report, ทำสถิติแยกตามเครื่องและไดรเวอร์, แก้ข้อผิดพลาดที่เกิดบ่อยที่สุดก่อน
- งานฝั่งภายนอก
- ถ้ากระจุกที่ไดรเวอร์กราฟิกบางเวอร์ชัน แนะนำให้ผู้เล่นอัปเดตไดรเวอร์
- บนกราฟ
- สูงเฉพาะบางกลุ่ม · จำนวนการแครช (แยกตามเครื่อง/ไดรเวอร์กราฟิก/บิลด์)
- จุดที่ต้องดู
- ดู crash report และอัตราการแครชใน Android vitals แยกตามเครื่อง, ไดรเวอร์ และบิลด์ บน PC ของผู้เล่นดู Event ID 1000 ใน Application log ของ Event Viewer (ชื่อโมดูลที่เกิดข้อผิดพลาด) และบันทึก “Display driver stopped responding and has recovered”
- สัญญาณว่าใช่
- มีบันทึกการแครชตรงเวลาที่แจ้งว่าหลุด ขณะที่ผู้เล่นอื่นในเซิร์ฟเวอร์เดียวกันเวลาเดียวกันปกติ กระจุกที่บางเครื่อง, บางเวอร์ชันไดรเวอร์ หรือบางโมดูล
- สัญญาณว่าไม่ใช่
- ไม่มีบันทึกการแครชแต่การเชื่อมต่อหลุด: น่าจะเป็น “NAT mapping หมดอายุ” หรือฝั่งเน็ต
- วิธีตรวจ
- ต้องมี log หรือเมตริกจากเซิร์ฟเวอร์/ไคลเอนต์เกม
แหล่งอ้างอิง
- Crashes Android (Google)
แครชคือการที่แอปปิดตัวโดยไม่คาดคิดเพราะ exception หรือ signal ที่ไม่ได้จัดการ (เช่น SIGSEGV) รวบรวมได้จาก Android vitals ใน Play Console - WDDM Support for Timeout Detection and Recovery (TDR) Microsoft
ถ้า GPU ทำงานไม่เสร็จภายในค่าเริ่มต้น 2 วินาที Windows จะรีเซ็ตไดรเวอร์กราฟิกและ GPU - The application or service crashing behavior troubleshooting guidance Microsoft
Event ID 1000 ใน Application log คือบันทึกการแครชจริง มีชื่อแอปที่ผิดพลาดและชื่อโมดูลที่ผิดพลาด (Faulting module name)
สาเหตุที่ควรดูประกอบ
ชั้นเดียวกัน: L1 โปรเซสเกมฝั่งไคลเอนต์
สาเหตุจากชั้นอื่นที่ทำให้เกิดอาการเดียวกัน (หลุด)
ดูการ์ดในฉบับหลักที่มีภาพและการทดลอง