gdgt

Skip to Content

Исправление Microsoft для задержек при компиляции шейдеров на ПК может занять годы

Microsoft нашла решение проблемы длительного ожидания при компиляции шейдеров. Система называется Advanced Shader Delivery, и впервые она внедряется для портативных устройств ASUS ROG Xbox Ally и игр, доступных в приложении Xbox.

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

Хотя все чаще встречается, что большие игры используют эти экраны компиляции шейдеров еще до появления главного меню (привет, Hogwarts Legacy!), игры, которые отказываются от их использования, все равно нуждаются в загрузке и компиляции шейдеров. Если они не скомпилированы заранее, то должны компилироваться во время игры, что может привести к заиканиям в игровом процессе, с которыми многие геймеры также хорошо знакомы.

Advanced Shader Delivery решает эту проблему, выполняя весь процесс компиляции заранее и сохраняя скомпилированные шейдеры в облаке. Осложняет ситуацию то, что компиляция шейдеров зависит от аппаратного обеспечения, и поскольку существует огромное количество комбинаций GPU и драйверов, потребуется несколько десятков наборов скомпилированных шейдеров, чтобы охватить все наиболее распространенные конфигурации, и это для каждой игры. Экстраполируйте это даже на все AAA-тайтлы, выходящие ежегодно, и вы получите массивную базу данных.

Это похоже на то, как работает компиляция шейдеров на консолях, но там речь идет максимум о двух или трех версиях на консоль, а для Nintendo Switch — еще меньше. Именно поэтому Microsoft начинает с портативных устройств ASUS ROG Xbox Ally, которые включают всего две аппаратные конфигурации.

Agility SDK от Microsoft для разработчиков игр теперь поддерживает Advanced Shader Delivery, что означает, что разработчики уже могут начать внедрять ее в новые игры. На практике для полного использования новых технологий, подобных этой, могут потребоваться годы.

Это именно то, что мы видели с Direct Storage, другой технологией Microsoft, предназначенной для сокращения времени загрузки ресурсов. Через три года после ее выпуска мы по-прежнему видим, что лишь горстка крупных игр интегрировала Direct Storage. Может пройти немало времени, прежде чем Advanced Shader Delivery будет интегрирована в большинство популярных игр и станет доступна на различных торговых площадках, таких как Steam.