遊戲 Lag 白皮書 › L2 用戶端 OS 與裝置
用戶端記憶體不足、swap Paging / swap on client
原因 ID co-swap · 主要負責 外部(外部) · 協同 遊戲開發團隊(用戶端開發)
在含圖解與實驗的完整版中開啟卡片 →
同時開著數十個瀏覽器分頁和遊戲時,OS 會把遊戲的一部分記憶體移到磁碟上。
為什麼 整體 RAM 不足 → 於是 OS 把遊戲暫時沒用到的記憶體移到磁碟 → 畫面上 再次用到那部分的瞬間,依儲存裝置不同會停住數十~數百 ms
- 症狀
- 定格, 卡頓
- 因素
- 停滯
- 誰會遇到
- 只有我
- 何時
- 移動中/切換地圖時, 偶爾隨機發生
- 負責單位
- 主要負責 外部(外部) · 協同 遊戲開發團隊(用戶端開發)
- 遊戲開發團隊要做的事
- 減少記憶體用量,剩餘記憶體不多時顯示警告。
- 外部要做的事
- 告知玩家最低配備,並引導玩家在遊戲中關閉其他程式(瀏覽器分頁等)。
- 圖表上
- 偶爾隨機飆高 · 硬分頁錯誤、記憶體用量
- 查看位置
- 把效能監視器的 Memory\Pages Input/sec(為了解決硬分頁錯誤而從磁碟讀入的分頁數)與工作管理員「效能」索引標籤的記憶體用量、已認可量跟畫格時間一起記錄
- 符合的跡象
- 停住的瞬間 Pages Input/sec 往上衝,記憶體幾乎全滿。關掉瀏覽器等其他程式後就消失
- 不符合的跡象
- 記憶體還有餘裕、Pages Input/sec 也很平靜時,是「主執行緒同步載入、著色器編譯」或「儲存裝置太慢,資源串流跟不上」
- 確認方式
- 在玩家端環境確認
出處
- Introduction to the page file Microsoft
分頁檔是磁碟上的檔案,用來把不常用、已修改過的記憶體分頁從 RAM 移出 - Working Set Microsoft
存取不在 RAM 中的分頁時會發生分頁錯誤;硬分頁錯誤要從分頁檔等磁碟位置讀回來才能解決 - Chapter 12 - Detecting Memory Bottlenecks Microsoft
Memory\Pages Input/sec:為了解決分頁錯誤而從磁碟讀入的分頁數(硬分頁錯誤)
相關原因
同一層:L2 用戶端 OS 與裝置
同一症狀(定格)在其他層的原因
查看含圖解與實驗的完整版卡片