คู่มือเกมแลค › L2 OS และอุปกรณ์ฝั่งไคลเอนต์
โปรแกรมโอเวอร์เลย์รบกวน Overlays and screen hooks
ID สาเหตุ co-overlay · ผู้รับผิดชอบหลัก ภายนอก (ภายนอก) · ร่วมกับ พัฒนาไคลเอนต์ (ทีมพัฒนาเกม)
เปิดการ์ดในฉบับหลักที่มีภาพและการทดลอง →
โปรแกรมแชต, launcher, โปรแกรมอัดจอ และโปรแกรมแสดง FPS จะแทรกเข้าไปในขั้นตอนการเรนเดอร์ของเกม (hooking) เพื่อวาด UI ของตัวเองทับบนจอเกม งานในแต่ละเฟรมจึงเพิ่มขึ้น และบางครั้งก็ชนกับเกมจนภาพหยุดแวบหรือเกมถูกบังคับปิด
ทำไม เปิดโอเวอร์เลย์ของโปรแกรมแชต, game launcher, เครื่องมือของการ์ดจอ หรือโปรแกรมอัดจอไว้ → ผลคือ ทุกครั้งที่ส่งเฟรมออกจอ โอเวอร์เลย์จะแทรกเข้ามาวาด UI ของตัวเองทับ → บนหน้าจอ เฟรมช้าลงทีละนิด และตอนที่แจ้งเตือนโผล่ขึ้นมา ภาพหยุดแวบ กราฟิกเพี้ยน หรือเกมถูกบังคับปิด (ผู้เล่นเห็นเหมือนหลุด)
- อาการ
- กระตุก, ค้าง, หลุด
- ปัจจัย
- การหยุดชะงัก
- ใครเจอ
- เราคนเดียว
- เกิดเมื่อไร
- ตลอดเวลา, สุ่มเป็นครั้งคราว
- ผู้รับผิดชอบ
- ผู้รับผิดชอบหลัก ภายนอก (ภายนอก) · ร่วมกับ พัฒนาไคลเอนต์ (ทีมพัฒนาเกม)
- งานฝั่งทีมพัฒนาเกม
- รวบรวมรายการโอเวอร์เลย์ที่กำลังทำงานไปพร้อมกับรายงานการแครชและ log อาการกระตุก
- งานฝั่งภายนอก
- เมื่อได้รับการแจ้งปัญหา แนะนำให้ผู้เล่นปิดโอเวอร์เลย์ทั้งหมดแล้วลองใหม่
- บนกราฟ
- สูงเฉพาะบางกลุ่ม · เฟรมไทม์และจำนวนการแครช (ผู้เล่นที่เปิดโอเวอร์เลย์)
- จุดที่ต้องดู
- ปิดโอเวอร์เลย์ทั้งหมดแล้วเทียบเฟรมไทม์จาก PresentMon ในฉากเดียวกัน ถ้ามีการแครช ดูชื่อโมดูลที่ผิดพลาด (Faulting module name) ใน Event ID 1000 ของ Event Viewer
- สัญญาณว่าใช่
- ปิดโอเวอร์เลย์แล้วอาการหยุดแวบหรือกราฟิกเพี้ยนหายไป หรือโมดูลที่ผิดพลาดในการแครชคือ DLL ของโปรแกรมโอเวอร์เลย์
- สัญญาณว่าไม่ใช่
- ปิดโอเวอร์เลย์ทั้งหมดแล้วยังเหมือนเดิม: น่าจะเป็นไดรเวอร์กราฟิก หรือ “ไคลเอนต์แครช”
- วิธีตรวจ
- ตรวจที่สภาพแวดล้อมฝั่งผู้เล่น
- รายละเอียดเพิ่มเติม
- ถ้ากระตุกหรือเกมปิดเองเฉพาะบางคน และอธิบายด้วยสเปกไม่ได้ ให้สงสัยการชนกันระหว่างโอเวอร์เลย์กับโมดูลความปลอดภัยของเกมก่อน
แหล่งอ้างอิง
- Steam Overlay (Steamworks Documentation) Valve
Steam Overlay จะ hook เข้าไปในเกมที่เปิดผ่าน Steam โดยอัตโนมัติ และด้วยวิธีนี้เองจึงอาจเผยข้อผิดพลาดด้านหน่วยความจำในการใช้ rendering API ของเกมจนแครชได้ - PresentMon Capture Application (README-CaptureApplication.md) Intel
อัดเวลาของแต่ละเฟรมด้วย FrameTime (เวลา CPU ระหว่างเฟรม) - The application or service crashing behavior troubleshooting guidance Microsoft
Event ID 1000 ใน Application log มีชื่อโมดูลที่ผิดพลาด (Faulting module name) และบางครั้งโมดูลของ Windows ก็ถูกบันทึกเป็นโมดูลที่ผิดพลาดเพราะโมดูลอื่นทำหน่วยความจำเสียหาย
สาเหตุที่ควรดูประกอบ
ชั้นเดียวกัน: L2 OS และอุปกรณ์ฝั่งไคลเอนต์
สาเหตุจากชั้นอื่นที่ทำให้เกิดอาการเดียวกัน (กระตุก)
ดูการ์ดในฉบับหลักที่มีภาพและการทดลอง