Дарк Я таки попробую ответить. Прекомпиляция разумна при условии, что разумно общее количество комбинаций параметров убершейдера(-ов). Когда же их счёт идёт на миллионы, десятки миллионов, скомпилированные объёмы начинают заметно пухнуть. Достаточно взглянуть на размер кеша скомпиленных шейдеров - десятки, а то и сотни мегабайт. Это при том, что отдельно взятому конечному пользователю едва ли требуется и тысячная доля всего этого многообразия. И в довесок, думается мне, у моддерствующего сообщества есть возможность использовать собственные шейдеры. И для них исходники стандартного набора от близзард - отличное подспорье. Да и, чего греха таить, я сам с интересом разглядывал их реализацию DOF, когда рылся в ресурсах беты. :)
manJak Ну дак и не нужно компилировать вообще все варианты, только те, которые реально используются в игре. Так или иначе, они все будут скомпилированы на машине пользователя и заржут свои десятки мегабайт памяти. Мне было бы приятнее получить дистриб на 100мб больше размером (к тем 8++ гигам что уже есть, поэтому не страшно ), но который грузится на лишние секунды быстрее.
А как сэмплы для моддер комьюнити - это конечно аргумент. Зная близзард, я считаю что они врятли дадут грузить свои шейдеры, только управлять аргументами уже готовых. Но угадать, какие сочетания захочет моддер, конечно, нельзя.
> Ну дак и не нужно компилировать вообще все варианты, только те, которые реально используются в игре. Реально использоваться будут самые разные комбинации, в зависимости от графических настроек у пользователей. И насколько мне известно, в дистрибутиве уже идёт пачка откомпилированных шейдеров для статистически наиболее вероятных настроек. Таскать же в дистрибе шейдеры для всех возможных конфигураций, имхо, неразумно. Видимо, и разработчики так посчитали) Ну, по крайней мере, я не вижу других весомых причин..
Оппа, благодарю за ссылочки.
ОтветитьУдалитьА зачем они пакуют исходники шейдеров? Чем не устроили прекомпилированные?
ОтветитьУдалитьДарк
ОтветитьУдалитьА зачем они пакуют исходники шейдеров? Чем не устроили прекомпилированные?
Лучше задать эти вопросы автору статей, я на них ответы не знаю.
Дарк
ОтветитьУдалитьЯ таки попробую ответить.
Прекомпиляция разумна при условии, что разумно общее количество комбинаций параметров убершейдера(-ов). Когда же их счёт идёт на миллионы, десятки миллионов, скомпилированные объёмы начинают заметно пухнуть. Достаточно взглянуть на размер кеша скомпиленных шейдеров - десятки, а то и сотни мегабайт. Это при том, что отдельно взятому конечному пользователю едва ли требуется и тысячная доля всего этого многообразия.
И в довесок, думается мне, у моддерствующего сообщества есть возможность использовать собственные шейдеры. И для них исходники стандартного набора от близзард - отличное подспорье.
Да и, чего греха таить, я сам с интересом разглядывал их реализацию DOF, когда рылся в ресурсах беты. :)
manJak
ОтветитьУдалитьНу дак и не нужно компилировать вообще все варианты, только те, которые реально используются в игре. Так или иначе, они все будут скомпилированы на машине пользователя и заржут свои десятки мегабайт памяти. Мне было бы приятнее получить дистриб на 100мб больше размером (к тем 8++ гигам что уже есть, поэтому не страшно ), но который грузится на лишние секунды быстрее.
А как сэмплы для моддер комьюнити - это конечно аргумент. Зная близзард, я считаю что они врятли дадут грузить свои шейдеры, только управлять аргументами уже готовых. Но угадать, какие сочетания захочет моддер, конечно, нельзя.
> Ну дак и не нужно компилировать вообще все варианты, только те, которые реально используются в игре.
ОтветитьУдалитьРеально использоваться будут самые разные комбинации, в зависимости от графических настроек у пользователей. И насколько мне известно, в дистрибутиве уже идёт пачка откомпилированных шейдеров для статистически наиболее вероятных настроек.
Таскать же в дистрибе шейдеры для всех возможных конфигураций, имхо, неразумно. Видимо, и разработчики так посчитали) Ну, по крайней мере, я не вижу других весомых причин..