David Pankov

+2232
с 2023

Мяу

68 подписчиков
15 подписок

Но не в случае когда ты не знаешь плюсы и тебя возьмут что бы ты писал на плюсах. И ты такой «обэмэ»

1

Друг ты куда то улетел) Что ты за статистику приводишь о том что нет компиляции шейдеров в играх сейчас, когда я буквально все новинки запустил и увидел компиляцию шейдеров) Разработчики по твоему идиоты все?

1

Для Playstation например это делают полностью разработчики, потому что во всех плойках одно и тоже железо. Но не у пк боярей у которых разные процы и видеокарты)

Друг. Ты по моему перепутал.
Ты сейчас говоришь про shader permutations и PSO, а не про финальную компиляцию драйвером GPU. Это разные этапы. Первое действительно можно заранее подготовить при сборке проекта. Второе, нет. Финальная компиляция всё равно происходит на машине игрока, потому что она зависит от конкретной видеокарты и версии драйвера. Если бы её можно было полностью выполнить на стороне разработчика, экранов Compiling Shaders в современных ПК-играх уже давно бы не существовало.

1

Просто выглядит это абсурдно. "О нет… Компиляция шейдеров… Оформляю возврат."

1

Чё? Ты всегда закрываешь игру и сразу деньги возвращаешь, как только видишь компиляцию шейдеров, которая от силы минуту пройдёт?

Это тоже часть истории. Материалы действительно могут иметь кучу статических переключателей и разных комбинаций (shader permutations), из-за чего анрик и в целом движки генерируют разные варианты шейдеров.

Но то, что компилируется при первом запуске игры, это ещё и адаптация этих шейдеров под конкретную связку видеокарта + драйвер. Один и тот же код на NVIDIA, AMD и Intel в итоге превращается в разный машинный код для видеокарты.

Поэтому даже если игра уже содержит все нужные варианты шейдеров, драйверу всё равно часто приходится компилировать их под конкретное железо пользователя. Чтобы потом во время игры не заниматься этим на лету и не вызывать зависания.

Вообще можешь любой ролик про шейдеры посмотреть.

1