Система автоматической компиляции шейдеров в современных играх работает следующим образом: 1
Изначально шейдер пишется на высокоуровневом языке программирования. 1 Прежде чем видеокарта сможет его использовать, процессор должен скомпилировать шейдер, то есть перевести в понятный для GPU двоичный машинный код. 1
Современные движки обычно комбинируют два метода: 1
Это необходимо, так как для улучшения производительности шейдеры приходится компилировать под каждую конкретную систему, видеокарту и даже драйвер для неё. 1
В играх для консолей разработчики обычно проводят предварительную компиляцию шейдеров, так как конфигурация оборудования статична. 3 В компьютерных играх этот процесс происходит на лету, так как у каждого компьютера своя конфигурация и сочетание процессора, графических карт и другого оборудования. 2
Также в некоторых играх есть возможность скомпилировать шейдеры в главном меню при первом запуске. 2 Это занимает время — от пары минут до десятков минут, но обычно помогает решить проблему заиканий. 2