Разработчики долго компилируют шейдеры для новых игр по нескольким причинам:
- Количество и сложность шейдеров. 23 Современные игры становятся всё масштабнее и красивее, что увеличивает количество и сложность используемых шейдеров. 3 Каждый из них нужно преобразовать в понятный видеокарте формат, оптимизировать под конкретную модель GPU, проверить на совместимость и сохранить для быстрого доступа. 5
- Разнообразие систем. 13 Для улучшения производительности шейдеры приходится компилировать под каждую конкретную систему, видеокарту и даже драйвер для неё. 3 Возможных комбинаций тысяч, поэтому заранее скомпилировать шейдеры для всех систем невозможно. 23
- Обновления драйверов. 1 Когда производители видеокарт выпускают новые версии ПО, они могут изменять способ обработки графического кода, из-за чего уже скомпилированные шейдеры становятся устаревшими. 1 В таком случае игра вынуждена пересобирать их заново, что порой вызывает длительные задержки при запуске. 1
Разработчики стремятся минимизировать эти задержки, но полностью исключить их пока невозможно. 1