遊戲 Lag 白皮書 › 只有部分人遇到的問題
記憶體/VRAM 不足導致串流失敗 Memory / VRAM exhaustion
原因 ID pt-vram · 主要負責 遊戲開發團隊(用戶端開發) · 協同 外部(外部)
在含圖解與實驗的完整版中開啟卡片 →
兩個用戶端分著用顯示記憶體時,沒有空間載入新需要的模型與貼圖,部分物件就畫不出來。
為什麼 兩個用戶端分用 VRAM 與 RAM。OS 有時也會先縮減背景視窗的顯示記憶體配額 → 於是 引擎無法載入新的模型與貼圖,或不斷卸載又重新載入 → 畫面上 NPC 很晚才出現、模糊或看不見,畫面卡頓
- 症狀
- 看不見/幽靈物件, 卡頓
- 因素
- 停滯
- 誰會遇到
- 同一台電腦只有其中一個用戶端
- 何時
- 移動中/切換地圖時, 人潮湧入時
- 負責單位
- 主要負責 遊戲開發團隊(用戶端開發) · 協同 外部(外部)
- 遊戲開發團隊要做的事
- 依記憶體預算自動調整畫質,載入失敗時顯示替代模型。
- 外部要做的事
- 引導同時開兩個用戶端的玩家降低畫質或使用低規格模式,並說明建議的 VRAM 與 RAM 規格。
- 圖表上
- 碰到上限後持平 · 各處理程序的專用 GPU 記憶體使用量
- 查看位置
- 在玩家電腦的工作管理員「詳細資料」分頁加上專用 GPU 記憶體欄位,把兩個用戶端的使用量總和與顯示卡的 VRAM 容量比較。遊戲端記錄 DXGI 的 QueryVideoMemoryInfo 回報的預算(Budget)與目前使用量(CurrentUsage)
- 符合的跡象
- 兩個用戶端使用量總和在 VRAM 容量附近持平,目前使用量超過預算的時間點,模型與貼圖載入失敗集中出現。降低畫質或只開一個就消失
- 不符合的跡象
- VRAM 還有餘裕卻看不見時,是快取/資源檔案同時存取衝突或顯示選項不同
- 確認方式
- 在玩家端環境確認
出處
- Residency (Direct3D 12) Microsoft
切換到其他應用程式時,視訊記憶體預算可能大幅縮減,超過預算時會停頓或建立失敗。不在前景時,連保留的部分也不保證 - GPUs in the task manager Microsoft
在工作管理員詳細資料分頁加上欄位,就能看到各處理程序的專用與共用 GPU 記憶體使用量。專用 GPU 記憶體就是顯示卡的 VRAM - DXGI_QUERY_VIDEO_MEMORY_INFO structure (dxgi1_4.h) Microsoft
Budget(OS 決定的視訊記憶體預算)與 CurrentUsage(應用程式目前的使用量)。使用量超過預算時可能出現卡頓
相關原因
同一層:只有部分人遇到的問題
同一症狀(看不見/幽靈物件)在其他層的原因
查看含圖解與實驗的完整版卡片