Идеи как оптимизировать компилятор xrLC |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Идеи как оптимизировать компилятор xrLC |
28.01.2021, 21:04
Сообщение
#41
|
|
Почти Игрок Репутация: 0 Группа: Участник Сообщений: 20 Регистрация: 16.07.2015 |
Так что, репо наверно уже не нужно. Ну я бы так не сказал - к примеру у меня есть свой проект, со своими компиляторами, куда я вношу свои правки - и вот захотелось добавить/опробовать на своих компиляторах... Готовые/скомпиленные не всегда могут быть полезны, это так сказать - попробовать-побаловаться, не более - а если понравится - практического толку нет, разве что самому садиться и "изобретать велосипед". А ЗП в плане моддинга, тема спорная и сложная. Пока есть другие дела, держусь подальше. Спорная - да, к тому же есть такая платформа - как КоК, которая юзает всё от ЗП, которая может уже и не так набирает обороты - но и не сбрасывает. |
 
|
|
|
|
28.01.2021, 22:51
Сообщение
#42
|
|
Игрок Репутация: 2 Группа: Участник Сообщений: 30 Регистрация: 10.11.2020 |
3. В объектах отказаться от шейдера "default". Только def_shaders\def_vertex, def_shaders\def_aref_v, def_shaders\def_trans_v и т.п. Именно лайтмапное АО дает большое качество картинке, а такими настройками вы его максимально убьете, особенно для лоуполи объектов.4. Ставить у проектов качество hemi 0. (см. пункт 7) с -noise, будет красивее и быстрее. Быстрее, и возможно красивее.... Изза отсутствия шакализирования полигонажа моделей на удалении.А ЗП в плане моддинга, тема спорная и сложная. ИМХО конечно, но проще чем ТЧ.
Сообщение отредактировал Hozar_2002 - 28.01.2021, 22:53 |
 
|
|
29.01.2021, 14:26
Сообщение
#43
|
|
Почти Игрок Репутация: 0 Группа: Участник Сообщений: 20 Регистрация: 16.07.2015 |
А ЗП в плане моддинга, тема спорная и сложная. ИМХО конечно, но проще чем ТЧ.В плане моддинга - ЗП конечно проще, я сам достаточно долго просидел на ТЧ, когда перешёл на ЗП - оказалось гораздо проще. А КоК ещё прощё, т.к. там уже введено много дополнительных механик и возможностей, доп. колбеков по скриптам и прочего - часто замечаю, как на ЗП мододелы вечно изобретают велосипеды, в то время как в КоК это уже изначально есть - бери и пользуйся... |
 
|
|
29.01.2021, 18:04
Сообщение
#44
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
|
 
|
|
29.01.2021, 18:59
Сообщение
#45
|
|
Почти Игрок Репутация: 0 Группа: Участник Сообщений: 20 Регистрация: 16.07.2015 |
А проблем с добавлением новых xr-шейдеров в ЗП не возникало? С xr вообще ниразу. А проблем с добавлением новых скриптовых шейдеров в ЗП не возникало? Тут я не спец по шейдерам - но вполне успешно затаскивал коммиты от людей, у которых такой проблемы не было, и всё работало... Сообщение отредактировал Romann - 29.01.2021, 19:07 |
 
|
|
29.01.2021, 23:19
Сообщение
#46
|
|
Дибил Репутация: 823 Группа: Забанен Сообщений: 4891 Регистрация: 08.01.2010 |
Моя теория по "оптимизации" такова: 1. Отказаться от лайтмапов. Компиляторы с лайтмапами оставить только для билдо-проектов. 2. Отказаться от статичного рендера (dx8). Использовать не воспрещается, но безлайтмапная карта на нем будет выглядеть УГ. Извини, дядя Макрон, но статика, с другой стороны, прекрасна для тестов. По аналогии с сорсом - это аналог запуска на минималках. По аналогии с Урина Энжайн 4 - это компиляция на минималках (а там считаются пути ии, и лайтмапы, грубо говоря). Моя теория по "оптимизации" такова: 1. Отказаться от лайтмапов. Компиляторы с лайтмапами оставить только для билдо-проектов. 2. Отказаться от статичного рендера (dx8). Использовать не воспрещается, но безлайтмапная карта на нем будет выглядеть УГ. Извини, дядя Макрон, но статика, с другой стороны, прекрасна для тестов. По аналогии с сорсом - это аналог запуска на минималках. По аналогии с Урина Энжайн 4 - это компиляция на минималках (а там считаются пути ии, и лайтмапы, грубо говоря). А конпелять на средних 2 часа локу в 5к поли - я и бал. -------------------- Если вы заботитесь о своём пищеварении — мой добрый совет: не говорите за обедом о большевизме и о медицине. И, боже вас сохрани, не читайте до обеда новости на gameru. Да и после обеда.
|
 
|
|
03.02.2021, 01:17
Сообщение
#47
|
|
. Репутация: 750 Группа: Участник Сообщений: 7072 Награды: 4 Регистрация: 30.07.2010 |
Короче поэкспериментировал с созданием лайтмапов из шадовмапов, тени от солнца при проверке пересечения 1 к 1 получаются вот такие:
Они же с джиттером а-ля считаем освещённость девяти соседних пикселей и записываем среднее значение: Вот так выглядит hemi/AO полученный этим методом: Вот так выглядит хеми+солнце (+ какие-то непонятные баги:D ): Тоже самое но увеличил размер лайтмапы с 1024х1024 до 2048х2048: Вот так выглядят тени в билде, откуда я взял уровень для тестов: Что касательно производительности, при компилировании с максимальной оптимизацией рассчёт лайтмапа в разрешении 2048x2048 с одним источником солнца и 192 источниками хеми занимает 148 секунд. В данном примере видеокарта используется только для создания zbuffer-а, рассчёт и закраска пикселей в лайтмапе делается целиком на процессоре в одном потоке. (тоже можно вынести на ГПУ при использовании шейдеров, ибо это является собой по сути обычную отрисовку с поменянными местами мировыми и текстурными координатами). xrLC с этим уровнем в максимальном качестве (хеми 3 - 192 источника, солнце 3 - 49 источников, 20 ppm, jitter 9) справляется за 13 минут. Если качество солнца опустить до 1 (9 источников) справляется за 9 минут. Если jitter samples опустить до 1 справляется примерно за те же 140 секунд. Насчёт закраски полигонов, видокартой или не видеокартой, хотелось бы уточнить как не получить вот такую лажу: На скринах можно увидеть много нежелательных чёрных полос и точек. Те что возникают между соседними полигонами в UV 100% являются следствием косяков в моей функции закраски треугольников, а вот насчёт подобных артефактов в месте UV стыков у меня такой уверенности нет, и даже при залитии треугольников белым цветом при помощи видеокарты и наложении получившейся текстуры на модель получается результат как на скрине. Если открыть какую-нибудь лайтмапу в граф. редакторе, можно увидеть как цвет от каждой части расползается в стороны: Это xrLC так борется с подобным или для чего-то другого было сделано? |
 
|
|
03.02.2021, 20:23
Сообщение
#48
|
|
Продвинутый геймер Репутация: 51 Группа: Участник Сообщений: 489 Награды: 3 Регистрация: 12.11.2012 |
А вообще, в хрлц самый долгий этап - это просчёт хэми? 90% всего времени? Получается остальные стадии можно не оптимизировать?
И как можно ускорить процесс просчёта хеми, солнца и статичного света, не изменяя хрлц, а только регулируя настройки? В этой теме советовали уменьшить количество источников света. А какие ещё параметры влияют на производительность? И вообще, за что отвечают параметры компиляции? Понятно что качество хеми - для улучшения качества света. Но не понятно, что такое качество. Это количество источников света хэми? Или не только? -------------------- |
 
|
|
03.02.2021, 21:52
Сообщение
#49
|
|
. Репутация: 750 Группа: Участник Сообщений: 7072 Награды: 4 Регистрация: 30.07.2010 |
А какие ещё параметры влияют на производительность? Jitter samples. В зависимости от этого параметра для каждого направленного источника(солнце и хеми) запускается 1, 4 или 9 лучей, с некоторым отклонением, для плавности. Параметры Sun Shadow Quality и Hemisphere Quality регулируют только количество источников света. |
 
|
|
04.02.2021, 13:41
Сообщение
#50
|
|
Продвинутый геймер Репутация: 24 Группа: Участник Сообщений: 398 Награды: 4 Регистрация: 30.09.2015 |
Modera,
Цитата Это xrLC так борется с подобным или для чего-то другого было сделано? Это просто неиспользуемое пространство текстуры. |
 
|
|
04.02.2021, 17:50
Сообщение
#51
|
|
Мастер Игры Репутация: 232 Группа: Друзья GM Сообщений: 1299 Награды: 4 Регистрация: 05.03.2012 |
А вообще, в хрлц самый долгий этап - это просчёт хэми? Как правило так и есть. Я делал ключ для xrlc отключающий просчет всех хеми источников, скорость компиляции лайтмапов увеличивалась очень существенно (~5ч против ~40минут). -------------------- |
 
|
|
04.02.2021, 17:56
Сообщение
#52
|
|
Продвинутый геймер Репутация: 51 Группа: Участник Сообщений: 489 Награды: 3 Регистрация: 12.11.2012 |
Modera, а ты можешь описать каждый параметр освещения в сдк (Properties > Scene > Build Options > Lighting)? Вот эти параметры:
Я примерно знаю, за что они отвечают, но не до конца. Могу конечно описать, но это будет описание в стиле "капитан очевидность", качество - это качество, ошибки - это ошибки и т. д. Ты ведь в исходниках смотрел как всё устроено. -------------------- |
 
|
|
04.02.2021, 19:30
Сообщение
#53
|
|
. Репутация: 750 Группа: Участник Сообщений: 7072 Награды: 4 Регистрация: 30.07.2010 |
Hemisphere quality [0-3] - переключает количество семплов при рассчёте Ambient Occlusion (свет неба, хеми, как хотите) между 1, 26, 91, и 196 соответственно. Семплы ни что иное как направленные источники света равномерно расставленные по полусфере неба.
Sun shadow quality [0-3] - переключает количество семплов при рассчёте теней от солнца между 1, 9, 16, и 49. Семплы ни что иное как направленные источники света, расставленные равномерно по пирамиде с углом конуса три градуса, и направлением задаваемым в режиме редактирования light. Это нужно для создания теней от солнца у которых размытие увеличивается с удалением от объекта. В оригинальном СДК оно вроде сломано, и все, или почти все источники света имеют одинаковое направление, а не расставляются по пирамиде. Sun dispersion [0.1 - 180] - указывает угол пирамиды, по которой расставляются источники света для солнца. В оригинальном СДК менять нельзя, и он всегда имеет значение 3 градуса. Pixel per meter - указывает разрешение лайтмап, я думаю и так понятно. Error LM collapsing, Error LM zero - я не знаю, не изучал. Jitter samples - указывает как определяется освещённость точки в пространстве от направленных источников света.(хеми и солнце) При значении 1 производится одна проверка пересечения луча для каждого источника, то есть либо полная освещённость, либо полная тень. При 4 или 9 вычисляется среднее значение от четырёх или девяти проверок луча соответственно, и лучи берутся с небольшим отклонением (меньше одного пикселя в лайтмапе). Нужно для того чтобы края у теней были плавные, а не резкие. Modera, Цитата Это xrLC так борется с подобным или для чего-то другого было сделано? Это просто неиспользуемое пространство текстуры. Ну а почему оно имеет такой плавный вид, а не просто залито чёрным к примеру? |
 
|
|
04.02.2021, 20:03
Сообщение
#54
|
|
Продвинутый геймер Репутация: 24 Группа: Участник Сообщений: 398 Награды: 4 Регистрация: 30.09.2015 |
Modera,
Цитата Ну а почему оно имеет такой плавный вид, а не просто залито чёрным к примеру? глянь на лайтмап террейна- там тоже самое. И вспомни ранние билды сталкера - там низ неба состоит из таких же растяжек |
 
|
|
04.02.2021, 23:01
Сообщение
#55
|
|
Продвинутый геймер Репутация: 51 Группа: Участник Сообщений: 489 Награды: 3 Регистрация: 12.11.2012 |
Modera, на предыдущих страницах говорили, из-за чего хрлц так долго считает. Я правильно понял, что при Jitter samples = 1 и Jitter samples = 9 разница в количестве вычислений будет в 9 раз? И тоже самое с sun и hemi? Если в одном случает семплов солнца 1, а в другом - 49, то xrlc потратит в 49 раз больше времени?
-------------------- |
 
|
|
04.02.2021, 23:20
Сообщение
#56
|
|
Босс Репутация: 257 Группа: Участник Сообщений: 4151 Награды: 4 Регистрация: 15.08.2008 |
Pavel_Blend, тыж блендер про, лучше же запеканку света перекиниуть в блендер, аддон для него проще написать, чем доводить до ума тот софт что в сдк? Причем импорт геометрии в блендер и так уже есть?
|
 
|
|
05.02.2021, 00:14
Сообщение
#57
|
|
. Репутация: 750 Группа: Участник Сообщений: 7072 Награды: 4 Регистрация: 30.07.2010 |
Modera, на предыдущих страницах говорили, из-за чего хрлц так долго считает. Я правильно понял, что при Jitter samples = 1 и Jitter samples = 9 разница в количестве вычислений будет в 9 раз? И тоже самое с sun и hemi? Если в одном случает семплов солнца 1, а в другом - 49, то xrlc потратит в 49 раз больше времени? Получается так, да. |
 
|
|
05.02.2021, 14:16
Сообщение
#58
|
|
Продвинутый геймер Репутация: 51 Группа: Участник Сообщений: 489 Награды: 3 Регистрация: 12.11.2012 |
Supple Hope, я ещё ни разу не запекал в 2.8-2.9. Много раз пытался и у меня запекалка не работала. В 2.79 всё нормально, а в новых нет. В 2.92 всё таки вчера получилось запечь. Может пофиксили и на моём древнем проце со встроенной графикой всё заработало. Я не знаю. Может попробую написать скрипт для автоматизации запекания. Вот только делать инструменты для создания уровней с нуля в блендере вряд ли буду. Так как нужно будет геометрию разбивать на куски, строить иерархию визуалов, создавать юви для карт освещения и много чего ещё.
-------------------- |
 
|
|
12.02.2021, 00:38
Сообщение
#59
|
|
Игрок Репутация: 5 Группа: Участник Сообщений: 41 Регистрация: 20.11.2017 |
прикрутить такую либу
|
 
|
|
25.01.2022, 17:49
Сообщение
#60
|
|
Продвинутый геймер Репутация: 51 Группа: Участник Сообщений: 489 Награды: 3 Регистрация: 12.11.2012 |
Пробовал запекать hemi, sun, light в блендере. Hemi шумным получается даже после денойза. Семплов ставил 32. Карта 2048x2048 для одного дома на скриншоте ниже. Пробовал 1024 семплов, но кажется запекаться стало дольше чем в xrlc. Да и при 32 семплах не особо быстрее.
AO в блендере использует точный алгоритм, вместо приблизительного (в 2.79 было два алгоритма). В итоге труднодоступные для света участки слишком шумные. А увеличивать семлы до 1000 нецелесообразно. На скриншотах видно шум на балках. -------------------- |
 
|
|
Текстовая версия | Сейчас: 29.04.2024, 09:36 |