Страница 1 из 1

Хитрости оптимизации возможно ли?

СообщениеДобавлено: 27 дек 2019, 02:30
Kabanelloo
Дорого времени суток, в игре со статичной камеры по типу Auto chess , Underlord сделал облака из обычных партиклей с материалом мобильный аддитив анлит и текстурой 32 пикселя в виде облака. Но так как они летают поверх сцены, я обнаружил просадки кадров на 20 - 30, очень странно, хотя динамический батчинг их обрабатывает но, они очень ресурсоемкие. Есть ли какие-то хитрости по устранению сильных просадок кадров при использовании партиклей? Так то в игре стабильно 50 - 60 кадров при полной сцене геометрии и динамических объектов.

Re: Хитрости оптимизации возможно ли?

СообщениеДобавлено: 27 дек 2019, 03:32
waruiyume
Боюсь, что только покупка нового телефона :p
Почему это происходит:
Непрозрачная геометрия сначала проходит z-тест, и если тот провален то на этом отрисовка заканчивается, если нест пройден то происходит вся остальная отрисовка(чтение текстур, расчёт освещения, в общем то, что делается в пиксельном шейдере), после чего записывается новое значение в z-буфер. А так как отрисовка непрозрачной геометрии происходит от ближних объектов к дальним, то пиксельный шейдер, в лучшем случае, запускается только один раз.
Прозрачная геометрия не пишет z-буфер, и рисуются все слои которые не перекрыты непрозрачной геометрией, плюс ко всему альфабленд и альфатест ломают оптимизации тайлового рендера.
Т.е. главная оптимизация- это как можно сильнее уменьшить overdraw у прозрачной геометрии. Но если там не 100500 слоём частиц и ФПС падает с 50 до 20- это либо древнее железо, либо косячный драйвер, ни то, ни то починить не выйдет.

Re: Хитрости оптимизации возможно ли?

СообщениеДобавлено: 27 дек 2019, 21:37
Kabanelloo
Спасибо за подробности! Я попробую через Dither + cutout unlit, если не выйдет, эх прощай облачка))) (popcorn1)

Re: Хитрости оптимизации возможно ли?

СообщениеДобавлено: 27 дек 2019, 23:09
Kabanelloo
Говно идея ))) может для пиксельной и пойдет, так то стиль шума не избежать, хотя рендерит быстрее, но шум прям бесит)))) я еще думал рендерить в слой на отдельную камеру, и добавить сверху но LWRP уже так не умеет.

Re: Хитрости оптимизации возможно ли?

СообщениеДобавлено: 28 дек 2019, 19:26
Woolf
waruiyume - всегда, кстати, удивляло это ограничение на мобильных устройствах. Ведь на десктопе уже со времён первых джифорсов тест прозрачной геометрии делается на уровне железа видеокарты и занимает столько же времени, сколько и обычная геометрия. Единственное ограничение - fillrate, т.е. скорость прохода VBO-буферов по шине.
Что мешает это же сделать в мобильных девайсах, мне лично не понятно.

Re: Хитрости оптимизации возможно ли?

СообщениеДобавлено: 29 дек 2019, 21:22
Kabanelloo
Ну в общем, я для себя решение нашел, избавился от облаков, оставил тени от них, запихнув текстуру через умножение в шейдер по мировой координате ЮВ, ну типа условно они летают выше)) В общем решение такое себе, не везде применить получиться. Спасибо, можно закрыть тему.