Если графическим настройкам нужно больше памяти, чем есть на видеокарте, ОС выгружает текстуры в оперативную память ПК и загружает обратно, и появляются микрофризы.
Почему Высокое качество текстур, множество разного снаряжения и эффектов в людном месте забивают память видеокарты → Следствие ОС переносит неиспользуемые сейчас текстуры в оперативную память ПК, а когда они нужны, возвращает их по медленной шине PCIe → На экране Рывки при каждом появлении новой сцены или нового персонажа, текстуры какое-то время размытые
При наплыве игроков, В движении и при смене локации
Ответственные
Основной ответственный Команда разработки · Разработка клиента · Совместно Внешние стороны · Внешние стороны
Команда разработки: задачи
Выбирать настройки по умолчанию под объём видеопамяти, при выходе за бюджет памяти автоматически снижать качество текстур, в людных местах упрощать текстуры персонажей.
Внешние стороны: задачи
Посоветовать игрокам снизить качество текстур, а при запуске двух клиентов снизить настройки ещё сильнее.
Цифры для ориентира
Память видеокарты читает сотни GB в секунду, а шина PCIe между ней и оперативной памятью ПК, в зависимости от поколения, передаёт около 16–64 GB в секунду, то есть более чем в десять раз медленнее.
На графике
Упор в лимит (плато) · выделенная память GPU, общая память GPU
Где смотреть
Смотреть графики выделенной и общей памяти графического процессора в разделе GPU на вкладке «Производительность» Диспетчера задач (на вкладку «Подробности» можно добавить такие же столбцы по процессам) вместе со временем кадра в PresentMon
Подтверждает
Пока выделенная память GPU упирается в предел и график становится плоским, а общая растёт, рывки частые. При снижении качества текстур они пропадают
Опровергает
Если выделенная память не заполнена, это «Стриминг ассетов отстаёт из-за медленного накопителя» или «Синхронная загрузка и компиляция шейдеров в главном потоке»
Чем проверить
Проверка на стороне игрока
Подробнее
Признак: в разделе GPU Диспетчера задач Windows «Выделенная память графического процессора» заполнена, а «Общая память графического процессора» растёт. Если на одном ПК запущены два клиента, память заполняется быстрее (см. причину «Сбой стриминга из-за нехватки памяти или VRAM»).
Источники
ResidencyMicrosoft У процесса есть бюджет видеопамяти, и при его превышении ядро ОС переносит часть кучи дискретного GPU в оперативную память ПК (это крайняя мера, поэтому рекомендуется следить за бюджетом)
GPUs in the task managerMicrosoft Выделенная память GPU в Диспетчере задач означает VRAM видеокарты, общая память GPU означает оперативную память ПК, которую делят GPU и CPU
CUDA C++ Best Practices GuideNVIDIA Пропускная способность видеопамяти (V100: 898 GB/s) намного выше, чем у PCIe x16 3-го поколения (16 GB/s), поэтому рекомендуется сокращать обмен с оперативной памятью ПК