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

Анатомия игровых лагов › L2 ОС и устройство клиента

Нехватка памяти и своп на клиенте Paging / swap on client

ID причины co-swap · Основной ответственный Внешние стороны · Внешние стороны · Совместно Команда разработки · Разработка клиента

Открыть карточку в основной версии с иллюстрациями и экспериментами →

Если вместе с игрой открыты десятки вкладок браузера, ОС выгружает часть памяти игры на диск.

Почему Оперативной памяти в целом не хватает → Следствие ОС переносит на диск память игры, которая сейчас не используется → На экране Когда игра снова обращается к этой памяти, фриз на десятки или сотни ms в зависимости от накопителя

Симптомы
Фриз, Микрофризы
Факторы
Остановка
У кого
Только у меня
Когда
В движении и при смене локации, Изредка, случайно
Ответственные
Основной ответственный Внешние стороны · Внешние стороны · Совместно Команда разработки · Разработка клиента
Команда разработки: задачи
Сокращать расход памяти, предупреждать игрока, когда свободной памяти мало.
Внешние стороны: задачи
Сообщить игрокам минимальные требования, посоветовать закрывать во время игры другие программы (вкладки браузера и т. п.).
На графике
Случайные всплески · жёсткие ошибки страниц, расход памяти
Где смотреть
Записывать вместе со временем кадра счётчик Memory\Pages Input/sec в Системном мониторе (число страниц, прочитанных с диска для обработки жёстких ошибок страниц) и на вкладке «Производительность» Диспетчера задач использование памяти и значение «Выделено» (commit)
Подтверждает
В моменты фризов Pages Input/sec подскакивает, а память почти заполнена. Если закрыть браузер и другие программы, проблема пропадает
Опровергает
Если память свободна, а Pages Input/sec не растёт, это «Синхронная загрузка и компиляция шейдеров в главном потоке» или «Стриминг ассетов отстаёт из-за медленного накопителя»
Чем проверить
Проверка на стороне игрока

Источники

  1. Introduction to the page file Microsoft
    Файл подкачки: файл на диске, в который из ОЗУ выгружаются изменённые и редко используемые страницы памяти
  2. Working Set Microsoft
    Обращение к странице, которой нет в ОЗУ, вызывает ошибку страницы. Жёсткая ошибка устраняется только чтением с диска, например из файла подкачки
  3. Chapter 12 - Detecting Memory Bottlenecks Microsoft
    Memory\Pages Input/sec: число страниц, прочитанных с диска для обработки ошибок страниц (жёсткие ошибки страниц)

Смотрите также

Тот же слой: L2 ОС и устройство клиента

Причины с тем же симптомом (Фриз) на других слоях

Карточка в основной версии с иллюстрациями и экспериментами