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

遊戲 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 也很平靜時,是「主執行緒同步載入、著色器編譯」或「儲存裝置太慢,資源串流跟不上」
確認方式
在玩家端環境確認

出處

  1. Introduction to the page file Microsoft
    分頁檔是磁碟上的檔案,用來把不常用、已修改過的記憶體分頁從 RAM 移出
  2. Working Set Microsoft
    存取不在 RAM 中的分頁時會發生分頁錯誤;硬分頁錯誤要從分頁檔等磁碟位置讀回來才能解決
  3. Chapter 12 - Detecting Memory Bottlenecks Microsoft
    Memory\Pages Input/sec:為了解決分頁錯誤而從磁碟讀入的分頁數(硬分頁錯誤)

相關原因

同一層:L2 用戶端 OS 與裝置

同一症狀(定格)在其他層的原因

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