Urho3D
GameDev.ru / Сообщества / Urho3D / Форум / Болталка (95 стр)

Болталка (95 стр)

Страницы: 190 91 92 93 94 95
EugeneУчастникwww21 мая 201819:56#1410
radio
> В ядре движка уже сделаны некоторые перемены.
> Теперь есть возможность в глобальном пространстве хранить SharedPtr на другие
> объекты,
> что может быть очень удобным, но может не компилится без с++11 поддержки.
wat?
EugeneУчастникwww1 июня 201814:12#1411
Сцук. Я попробовал оптимизировать рендерер, нативные билды действительно ускорились на пару мс/кадр на тяжелых сценах, без учета многопоточности.
Зато эмскриптен начал тормозить, потому что нет в нем никакого прироста скорости от кеш-френдли алгоритмов.

Правка: 1 июня 2018 14:13

GLoomУчастникwww1 июня 201814:16#1412
Eugene
Крутота :-) Сильно тормозит?
EugeneУчастникwww1 июня 201814:39#1413
GLoom
> Крутота :-) Сильно тормозит?
Да примерно на столько же, блин. Пара миллисекунд.

Что я сделал:
- Заменил октодерево на регулярную сетку 9х9х9,
- Расстояние до объекта рассчитывается по фиксированной формуле как расстояние до AABB
- Все запросы объектов используют только данные ячейки и не лезут в Drawable.
- Флаги видимости объектов хранятся в непрерывном массиве.
- При подготовке lit geometries они валятся в кучу и группируются по Drawable.

Какие возможности я получил:
- Запросы по сетке сцены хорошо параллелятся.
- Можем гарантированно вызывать UpdateBatches ровно один раз для каждого объекта
- Можно делать ограничение на число источников света для объектов, как в Unity Forward path.

не надо говорить, что оно уже есть. оно сейчас так есть, что лучше бы его не было. это п-ц

- Варка батчей параллелится. Это прекрасно, потому что на нее уходит куча времени.

Что стало работать лучше:
- Все параллелится. Не плюс для мобилок и емскриптенов, но на десктопе может ускорить scene update раза в два.
- Сбор батчей работает быстрее, но большей частью из-за того, что я убрал реаллокации. Т.е. это можно и на master-ветке повторить.

Что стало работать хуже:
- Много локальных источников света, особенно с тенями, _особенно_ на неоптимальной сетке.
Октодерево с ячейками в 16 юнитов гораздо лучше переваривает 100 sphere query, чем глобальная сетка с ячейками в 250 юнитов. Тупо на количестве вычислений.
- Группировка кучи lit geometries занимает существенное время на Emscripten
- Много локальных источников света тормозит еще сильнее на Emscripten

ZamirПостоялецwww4 июня 201813:25#1414
"Microsoft договорилась о покупке GitHub"
Radio крепись)
Страницы: 190 91 92 93 94 95

/ Форум / Urho3D - игровой движок / ОФФТОП

2001—2018 © GameDev.ru — Разработка игр