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

遊戲 Lag 白皮書 › L1 用戶端遊戲程式

用戶端閃退 Client crash

原因 ID cg-crash · 主要負責 遊戲開發團隊(用戶端開發) · 協同 外部(外部)

在含圖解與實驗的完整版中開啟卡片 →

遊戲因未處理的錯誤而關閉。在玩家看來像斷線,但伺服器是正常的。

為什麼 null 參考、記憶體不足、顯示卡驅動程式錯誤 → 於是 遊戲處理程序被強制結束 → 畫面上 回報「閃退了」。同一時間其他人都正常

症狀
斷線
因素
停滯
誰會遇到
只有我
何時
做特定動作時, 偶爾隨機發生
負責單位
主要負責 遊戲開發團隊(用戶端開發) · 協同 外部(外部)
遊戲開發團隊要做的事
收集 crash report、依裝置與驅動程式統計、從最集中的錯誤開始修正。
外部要做的事
集中在特定顯示卡驅動程式版本時,引導玩家更新驅動程式。
圖表上
只有部分偏高 · 閃退次數(依裝置、顯示卡驅動程式、build)
查看位置
依裝置、驅動程式、build 查看 crash report 與 Android vitals 的當機率。玩家電腦則查看事件檢視器「應用程式」log 中的事件識別碼 1000(發生錯誤的模組名稱)與「Display driver stopped responding and has recovered」紀錄
符合的跡象
回報斷線的時間點有閃退紀錄,同一時間同一伺服器的其他玩家正常。集中在特定裝置、驅動程式版本、模組
不符合的跡象
沒有閃退紀錄、只是連線中斷時,是「NAT mapping 過期」或線路問題
確認方式
需要遊戲伺服器/用戶端的 log 與指標

出處

  1. Crashes Android (Google)
    當機(crash)指 App 因未處理的例外或訊號(SIGSEGV 等)意外結束,由 Play Console 的 Android vitals 彙總
  2. WDDM Support for Timeout Detection and Recovery (TDR) Microsoft
    GPU 未能在預設的 2 秒內完成工作時,Windows 會重設顯示卡驅動程式與 GPU
  3. The application or service crashing behavior troubleshooting guidance Microsoft
    「應用程式」log 的事件識別碼 1000 是實際的當機紀錄,包含發生錯誤的應用程式與模組名稱(Faulting module name)

相關原因

同一層:L1 用戶端遊戲程式

同一症狀(斷線)在其他層的原因

查看含圖解與實驗的完整版卡片