คู่มือเกมแลค › L9 โปรเซสเกมฝั่งเซิร์ฟเวอร์
เอนทิตีสะสม (ไอเทม/ซัมมอนที่ไม่ถูกเก็บกวาด) Entity / timer buildup over uptime
ID สาเหตุ sp-entity-buildup · ผู้รับผิดชอบหลัก พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม)
เปิดการ์ดในฉบับหลักที่มีภาพและการทดลอง →
ถ้าไอเทมที่ตกบนพื้นซึ่งควรหายไปแล้ว ซัมมอน และตัวจับเวลาที่จบแล้วไม่ถูกเก็บกวาดจนกองสะสม ยิ่งเปิดเซิร์ฟเวอร์ไว้นาน งานในแต่ละทิกก็ยิ่งเพิ่ม
ทำไม ไอเทมบนพื้น ซัมมอน ตัวจับเวลาที่หมดอายุ และข้อมูลปาร์ตี้ที่ว่างไม่ถูกลบตามเวลา → ผลคือ รายการที่ต้องไล่ทุกทิกยาวขึ้นทุกวัน → บนหน้าจอ ทันทีหลังปิดปรับปรุงยังปกติ แต่ผ่านไปไม่กี่วัน เฉพาะเซิร์ฟเวอร์หรือพื้นที่นั้นก็ค่อย ๆ อืดขึ้นเรื่อย ๆ
- อาการ
- สโลว์โมชั่น, กระตุก, อินพุตดีเลย์
- ปัจจัย
- การหยุดชะงัก
- ใครเจอ
- ทั้งเซิร์ฟเวอร์, บางจุด/บางแชนแนล
- เกิดเมื่อไร
- ยิ่งเปิดไว้นานยิ่งเป็น
- ผู้รับผิดชอบ
- ผู้รับผิดชอบหลัก พัฒนาเซิร์ฟเวอร์ (ทีมพัฒนาเกม)
- งานฝั่งทีมพัฒนาเกม
- เก็บจำนวนเอนทิตีแยกตามพื้นที่เป็นเมตริกเพื่อดูแนวโน้ม, กำหนดอายุและจำนวนสูงสุดให้เอนทิตีแต่ละแบบ, เก็บกวาดเป็นรอบ
- ตัวเลขที่ควรรู้
- ถ้าเซิร์ฟเวอร์ไล่ทุกเอนทิตีหนึ่งรอบทุกทิก เมื่อจำนวนเอนทิตีเพิ่มเป็นสองเท่า เวลาต่อทิกในส่วนนั้นก็เพิ่มเป็นสองเท่า
- บนกราฟ
- ค่อย ๆ ขึ้นแล้วดิ่งลง · จำนวนเอนทิตีแยกตามโซน, เวลาต่อทิกของเซิร์ฟเวอร์
- จุดที่ต้องดู
- จำนวนเอนทิตี (ไอเทมบนพื้น, ซัมมอน, ตัวจับเวลา) และเวลาต่อทิกแยกตามโซนและเซิร์ฟเวอร์ ในช่วงที่ยาวกว่ารอบปิดปรับปรุง (หลายสัปดาห์)
- สัญญาณว่าใช่
- จำนวนเอนทิตีและเวลาต่อทิกเริ่มต่ำหลังปิดปรับปรุง ไต่ขึ้นทุกวัน แล้วดิ่งลงเมื่อปิดปรับปรุงหรือรีสตาร์ตวนซ้ำ ระหว่างนั้นหน่วยความจำยังเหลือเฟือ
- สัญญาณว่าไม่ใช่
- ทิกไม่เปลี่ยนแต่หน่วยความจำเพิ่มขึ้นเรื่อย ๆ: น่าจะเป็นหน่วยความจำรั่ว
- วิธีตรวจ
- ต้องมี log หรือเมตริกจากเซิร์ฟเวอร์/ไคลเอนต์เกม
- รายละเอียดเพิ่มเติม
- คล้ายหน่วยความจำรั่วตรงที่ยิ่งเปิดนานยิ่งแย่ แต่ต่างกันตรงที่หน่วยความจำยังเหลือเฟือ มีแค่เวลาต่อทิกที่เพิ่มขึ้น ถ้ากราฟจำนวนเอนทิตีเป็นรูปฟันเลื่อยตามรอบปิดปรับปรุง ก็คือกรณีนี้
แหล่งอ้างอิง
- Actor Ticking in Unreal Engine Epic Games
actor และ component จะทิกหนึ่งครั้งทุกเฟรมถ้าไม่ได้กำหนดช่วงห่างแยก และปิดการทิกได้ถ้าไม่จำเป็น - AActor::SetLifeSpan Epic Games
ถ้ากำหนดอายุ (lifespan) ให้ actor จะถูกทำลายอัตโนมัติเมื่อหมดอายุ
สาเหตุที่ควรดูประกอบ
ชั้นเดียวกัน: L9 โปรเซสเกมฝั่งเซิร์ฟเวอร์
สาเหตุจากชั้นอื่นที่ทำให้เกิดอาการเดียวกัน (สโลว์โมชั่น)
ดูการ์ดในฉบับหลักที่มีภาพและการทดลอง