Добавить в корзинуПозвонить
Найти в Дзене
DigiNews

Microsoft работает над устранением «compiling shaders» при запуске игр на ПК

Технология Advanced Shader Delivery использует предварительно скомпилированные шейдеры для «времени загрузки, схожего с консольным» на всем ПК-оборудовании. Microsoft работает над устранением задержек при запуске игр. — arstechnica.com Современные геймеры привыкли, что при первом запуске новой игры приходится ждать несколько минут, пока крутится процесс «компиляции шейдеров», оптимизирующий сложные 3D-эффекты под их конкретное оборудование. На этой неделе на Game Developers Conference компания Microsoft предоставила обновления о своих разработках в области Advanced Shader Delivery для Windows. Эти разработки призваны решить проблему путем генерации коллекций предварительно скомпилированных шейдеров, которые можно загрузить заранее. В консольной среде разработчики могут оптимизировать и предварительно скомпилировать свои графические шейдеры так, чтобы они хорошо работали с определенным набором драйверов и GPU. Однако на ПК разработчики, как правило, оставляют шейдеры в виде нескомпилиро

Технология Advanced Shader Delivery использует предварительно скомпилированные шейдеры для «времени загрузки, схожего с консольным» на всем ПК-оборудовании. Microsoft работает над устранением задержек при запуске игр. — arstechnica.com

Современные геймеры привыкли, что при первом запуске новой игры приходится ждать несколько минут, пока крутится процесс «компиляции шейдеров», оптимизирующий сложные 3D-эффекты под их конкретное оборудование. На этой неделе на Game Developers Conference компания Microsoft предоставила обновления о своих разработках в области Advanced Shader Delivery для Windows. Эти разработки призваны решить проблему путем генерации коллекций предварительно скомпилированных шейдеров, которые можно загрузить заранее.

В консольной среде разработчики могут оптимизировать и предварительно скомпилировать свои графические шейдеры так, чтобы они хорошо работали с определенным набором драйверов и GPU. Однако на ПК разработчики, как правило, оставляют шейдеры в виде нескомпилированного кода, который затем компилируется и кэшируется во время выполнения в зависимости от конкретного оборудования и драйверов на машине игрока.

Инфраструктура Advanced Shader Delivery от Microsoft призвана решить эту проблему путем автоматизации процесса предварительной компиляции шейдеров, работающих в «большой матрице драйверов и GPU в экосистеме Windows», как заявляет компания. Для этого разработчики используют API Direct3D от Microsoft для создания Базы данных объектов состояния (State Object Database, SODB), которая представляет внутриигровые ресурсы на уровне игрового движка. Затем эта база данных ресурсов подается на вход множеству компиляторов шейдеров для создания Базы данных предварительно скомпилированных шейдеров (Precompiled Shader Database, PSDB), поддерживающей несколько дисплейных адаптеров от разных производителей оборудования.

-2

Эта PSDB затем может быть загружена вместе с игрой, обеспечивая то, что Microsoft называет «временем загрузки, схожим с консольным, во всей аппаратной экосистеме» на ПК. PSDB также может автоматически обновляться, когда производители оборудования регистрируют обновление драйвера, позволяя игрокам загружать новый предварительно скомпилированный шейдер в виде патча вместо локальной перекомпиляции при каждом изменении драйверов оборудования.

Вовлечение всех участников

Microsoft впервые представила Advanced Shader Delivery в своем SDK в сентябре прошлого года и добавила поддержку для ROG Xbox Ally в качестве доказательства концепции к октябрю. Microsoft заявила, что это нововведение сократило время запуска в таких играх, как Avowed, «до 85 процентов», что очень важно для портативных устройств с ограниченным зарядом батареи.

Внедрение Advanced Shader Delivery в более широкую экосистему ПК-гейминга идет медленнее. Nvidia заявляет, что «тесно сотрудничает с Microsoft» для добавления поддержки Advanced Shader Delivery в свою линейку GeForce RTX «позже в этом году», а Intel сообщает, что «с нетерпением ждет выпуска драйвера с поддержкой ASD в ближайшем будущем». Qualcomm также заявила о планах «скоро представить эту функцию на графических процессорах Qualcomm Adreno X2», если это имеет значение.

Даже при наличии аппаратной поддержки разработчикам игровых движков придется интегрировать API SODB от Microsoft, чтобы упростить процесс настройки для разработчиков игр. Epic Games заявляет, что проводит «раннее тестирование и изучение генерации SODB и PSDB и скоро предоставит более подробную информацию», что, вероятно, не является той полной поддержкой, которую Microsoft хотела бы видеть на данном этапе.

Пока же Microsoft обновила свои API, чтобы разработчикам было проще создавать и тестировать PSDB, а также компилировать шейдеры в более крупных играх. Компания также призывает разработчиков «интегрировать сбор SODB в ваш игровой движок» сейчас, чтобы они были готовы загружать эти предварительно скомпилированные шейдеры через Xbox Partner Center начиная с мая.

С этого момента некоторые ПК-игры, загруженные через приложение Xbox, наконец смогут пропустить этот раздражающий этап загрузки «компиляции шейдеров». Но это не та функция, которую Microsoft хочет оставить только для своей платформы ПК-игр; компания заявляет, что «в будущем любая витрина сможет компилировать SODB в… PSDB и распространять их».

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Автор – Kyle Orland

Оригинал статьи