遊戲 Lag 白皮書 › 只有部分人遇到的問題
快取/資源檔案同時存取衝突 Shared cache / asset file lock conflicts
原因 ID pt-asset-lock · 主要負責 遊戲開發團隊(用戶端開發)
在含圖解與實驗的完整版中開啟卡片 →
兩個用戶端同時寫入同一個快取資料夾或鎖定檔案時,其中一邊會載入不了 NPC 模型或貼圖。
為什麼 兩個用戶端同時寫入同一個安裝資料夾裡的快取、更新檔案 → 於是 檔案鎖定失敗,或讀到寫到一半的檔案而載入失敗 → 畫面上 名字還在卻沒有角色模型,或 NPC 是透明的
- 症狀
- 看不見/幽靈物件
- 因素
- 停滯
- 誰會遇到
- 同一台電腦只有其中一個用戶端
- 何時
- 剛登入/維護剛結束, 移動中/切換地圖時
- 負責單位
- 主要負責 遊戲開發團隊(用戶端開發)
- 遊戲開發團隊要做的事
- 每個用戶端使用各自的快取資料夾,檔案鎖定失敗時重試,載入失敗時至少顯示預設模型。
- 圖表上
- 只有部分偏高 · 各用戶端的資源載入失敗次數
- 查看位置
- 在玩家電腦上用 Process Monitor 只篩選遊戲安裝與快取資料夾路徑,查看兩個遊戲處理程序開啟、寫入檔案的結果。有用戶端 log 的話,找出資源載入失敗與檔案開啟錯誤代碼(ERROR_SHARING_VIOLATION)
- 符合的跡象
- 看不見的模型在開啟檔案時以共用違規或鎖定失敗結束,同一時間另一個用戶端正在寫入該檔案。只開一個或把安裝、快取資料夾分開後就消失
- 不符合的跡象
- 只開一個用戶端也看不見同一個模型時,是檔案損毀或用戶端版本、資料不一致。檔案順利開啟卻畫不出來時,是記憶體/VRAM 不足
- 確認方式
- 在玩家端環境確認
出處
- Creating and Opening Files Microsoft
未指定共用模式開啟的檔案,其他處理程序無法開啟,會出現 ERROR_SHARING_VIOLATION - Process Monitor Microsoft
即時記錄檔案系統、登錄檔、處理程序的活動,可以用路徑等任何欄位篩選
相關原因
同一層:只有部分人遇到的問題
同一症狀(看不見/幽靈物件)在其他層的原因
查看含圖解與實驗的完整版卡片