Мяу
Для Playstation например это делают полностью разработчики, потому что во всех плойках одно и тоже железо. Но не у пк боярей у которых разные процы и видеокарты)
Друг. Ты по моему перепутал.
Ты сейчас говоришь про shader permutations и PSO, а не про финальную компиляцию драйвером GPU. Это разные этапы. Первое действительно можно заранее подготовить при сборке проекта. Второе, нет. Финальная компиляция всё равно происходит на машине игрока, потому что она зависит от конкретной видеокарты и версии драйвера. Если бы её можно было полностью выполнить на стороне разработчика, экранов Compiling Shaders в современных ПК-играх уже давно бы не существовало.
У тебя инсайды какие то? И ты уже поиграл в игру?
Я занимаюсь трейлером)
Просто выглядит это абсурдно. "О нет… Компиляция шейдеров… Оформляю возврат."
Чё? Ты всегда закрываешь игру и сразу деньги возвращаешь, как только видишь компиляцию шейдеров, которая от силы минуту пройдёт?
Это тоже часть истории. Материалы действительно могут иметь кучу статических переключателей и разных комбинаций (shader permutations), из-за чего анрик и в целом движки генерируют разные варианты шейдеров.
Но то, что компилируется при первом запуске игры, это ещё и адаптация этих шейдеров под конкретную связку видеокарта + драйвер. Один и тот же код на NVIDIA, AMD и Intel в итоге превращается в разный машинный код для видеокарты.
Поэтому даже если игра уже содержит все нужные варианты шейдеров, драйверу всё равно часто приходится компилировать их под конкретное железо пользователя. Чтобы потом во время игры не заниматься этим на лету и не вызывать зависания.
Вообще можешь любой ролик про шейдеры посмотреть.
Меня в целом радует наличие удобных функций в Анриале. После Юнити, анриал показался более собранным и имеющим больше компонентов и опций. Сейчас у Юнити конечно вроде тоже хороший UI редактор)
Так же могу ответить, почему например на плойке и консолях в целом нет компиляции. Просто потому что во всех плойках одно и тоже железо. И разработчики специально оптимизируют для консолей. Но у пк боярей, комплектующие то сильно разные. Проц один, видюха вторая, ссд третий.
Поэтому на пк, пока самый оптимальный вариант, что бы угодить всем компутерам, это компилировать шейдеры до старта игры.
Может на самых топовых компах при компиляции шейдеров прям во время игры, тормозов и не будет. Но где то у кого чуть слабее ссд, чуть слабее проц, даже микро фриз уже может возникнуть)
Друг ты куда то улетел) Что ты за статистику приводишь о том что нет компиляции шейдеров в играх сейчас, когда я буквально все новинки запустил и увидел компиляцию шейдеров) Разработчики по твоему идиоты все?