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

Анатомия игровых лагов › Проблемы только у части игроков

Сбой стриминга из-за нехватки памяти или VRAM Memory / VRAM exhaustion

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

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

Когда два клиента делят видеопамять, для новых моделей и текстур не остаётся места, и часть объектов не рисуется.

Почему Два клиента делят VRAM и RAM. Кроме того, ОС может в первую очередь урезать квоту видеопамяти фонового окна → Следствие Движок не может загрузить новые модели и текстуры или постоянно выгружает и загружает их снова → На экране NPC появляются с опозданием, размыты или не видны, микрофризы

Симптомы
Невидимки / фантомы, Микрофризы
Факторы
Остановка
У кого
Один из клиентов на одном ПК
Когда
В движении и при смене локации, При наплыве игроков
Ответственные
Основной ответственный Команда разработки · Разработка клиента · Совместно Внешние стороны · Внешние стороны
Команда разработки: задачи
Автоматически подстраивать качество под бюджет памяти, при неудачной загрузке показывать замещающую модель.
Внешние стороны: задачи
Игрокам, которые запускают два клиента одновременно, посоветовать снизить качество графики или включить режим для слабых ПК, сообщить рекомендуемые требования к VRAM и RAM.
На графике
Упор в лимит (плато) · использование выделенной памяти GPU по процессам
Где смотреть
На ПК игрока добавить на вкладке «Подробности» Диспетчера задач столбец выделенной памяти GPU и сравнить суммарное использование двух клиентов с объёмом VRAM видеокарты. В игре записывать бюджет (Budget) и текущее использование (CurrentUsage), которые сообщает QueryVideoMemoryInfo в DXGI
Подтверждает
Суммарное использование двух клиентов выходит на плато около объёма VRAM, а неудачные загрузки моделей и текстур приходятся на моменты, когда текущее использование превышает бюджет. При снижении качества или с одним клиентом проблема пропадает
Опровергает
Если VRAM хватает, а объекты не видны, причина в конфликте одновременного доступа к файлам кэша и ассетов или в разных настройках отображения
Чем проверить
Проверка на стороне игрока

Источники

  1. Residency (Direct3D 12) Microsoft
    Бюджет видеопамяти может сильно уменьшиться при переключении на другое приложение, а при превышении бюджета возможны подвисания или сбои при создании ресурсов. Если приложение не на переднем плане, даже зарезервированный объём не гарантирован
  2. GPUs in the task manager Microsoft
    Если добавить столбцы на вкладке «Подробности» Диспетчера задач, видно использование выделенной и общей памяти GPU по процессам. Выделенная память GPU означает VRAM видеокарты
  3. DXGI_QUERY_VIDEO_MEMORY_INFO structure (dxgi1_4.h) Microsoft
    Budget (бюджет видеопамяти, заданный ОС) и CurrentUsage (текущее использование приложением). Если использование превышает бюджет, возможны рывки

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

Тот же слой: Проблемы только у части игроков

Причины с тем же симптомом (Невидимки / фантомы) на других слоях

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