Size: a a a

2021 March 30

Z

ZZZubec(Salamandr) in Alprog I/O
в том то и дело что там свои пулы, они уже есть и их хватает.
источник

Z

ZZZubec(Salamandr) in Alprog I/O
я видел Entity и LeoECS, и мне понравились оба варианта.
источник

Z

ZZZubec(Salamandr) in Alprog I/O
Но реального опыта не имею, просто в повседневке использую
источник

KF

Ksanf Fillum in Alprog I/O
Ну ты ж все равно за кадр кучу всякого new аллоцируешь в шарпах. Динамические массивы, вся херня, рейкасты сделать, в мапу что-то положить
источник

KF

Ksanf Fillum in Alprog I/O
А юнитевый GC далее инкрементальный может захлёбываться нехило
источник

Z

ZZZubec(Salamandr) in Alprog I/O
Ksanf Fillum
Ну ты ж все равно за кадр кучу всякого new аллоцируешь в шарпах. Динамические массивы, вся херня, рейкасты сделать, в мапу что-то положить
очень редко, в основном это связано с действиями игрока напрямую.
источник

Z

ZZZubec(Salamandr) in Alprog I/O
пули в пуле, частицы на стороне шейдера, то есть их как бы и нет. Вот если что-то построить или что-то разрушить.
источник

R

Roman in Alprog I/O
Ksanf Fillum
Ну ты ж все равно за кадр кучу всякого new аллоцируешь в шарпах. Динамические массивы, вся херня, рейкасты сделать, в мапу что-то положить
я вот ничего не аллоцирую. плохой тон
источник

KF

Ksanf Fillum in Alprog I/O
Roman
я вот ничего не аллоцирую. плохой тон
Фу таким быть
источник

Z

ZZZubec(Salamandr) in Alprog I/O
вот эта игра работала на Android 5.0, не успел её переделать. Но уверен смог бы заставить её работать и на Android 4.4
источник

Z

ZZZubec(Salamandr) in Alprog I/O
Переслано от ZZZubec(Salamandr)
источник

Z

ZZZubec(Salamandr) in Alprog I/O
Android 5.0 стоит 4000р, Kitkat порядка 2000-2500р
источник

Z

ZZZubec(Salamandr) in Alprog I/O
она наконец вышла, можете сами поискать. (чтобы не спойлерить)
источник

Z

ZZZubec(Salamandr) in Alprog I/O
почти всё создается 1 раз и живёт своей жизнью на сцене, поссажиры, их пути следования, где они сейчас. Кто их везёт. Каждая сцена - свои ресурсы.
За ECS никто не платил, поэтому его там нет, приходилось немного извращаться с пулами. Но если переписать под ECS, мне кажется вообще на любом устройстве заработает.
Плюс шейдеры блура очень тяжелые, их можно было заменить, но мне не дали. В основном именно графика и звук жрало память и ресурсы.
источник

АТ

Александр Тужик... in Alprog I/O
Nikolay
@alprog
Салют,

если говорить о пошаговых десктопных бродилках со сложной игровой моделью на C#, стоит ли сильно запариваться по поводу использования динамической памяти?

А именно:
1. почти для всего игрового состояния использовать только плотно утрамбованные в массивах struct-ы (с ECS это весьма терпимо и не отвратно по коду, но без этого было бы проще)
2. работать с ними через ref везде где только можно (а вот это уже причиняет много неудобств). заметный ли на практике оказывается оверхед от частого копирования?

Если все таки отказываемся от такого подхода в пользу обычных объектов,то
3. стоит ли заморачиваться с пуллингом объектов, аллоцируемых каждый ход? нормально ли десктопный GC (допустим, рантайм - Unity) справляется с подобным мусором?

Интуитивно кажется, что нагрузка на проц в пошаговках смешная, и можно на все озвученные выше проблемы забить (конкретные дорогие задачи вроде подсветки видимости оставим за кадром, т.к. там все с оптимизацией понятно).
Но интересно как оно на практике выходит. Окупается ли подобное задротство в итоге на таких проектах?

(Александру адресовал, т.к. он точно работал с проектами такой специфики, но опрос в общем-то ко всем, кто имеет опыт разработки больших пошаговых игр).
На мобилках не прям такое, но похожие методы окупаются до сих пор.
источник

АТ

Александр Тужик... in Alprog I/O
На ПК и консолях я никакими такими оптимизациями не занимался.
источник

АТ

Александр Тужик... in Alprog I/O
Считаю, что подобное байтодрочерство на Unity — это изначально отвратительно в своей неправильности.
источник

АТ

Александр Тужик... in Alprog I/O
Что-то вроде того, чтобы ехать на бензиновой машине, но использовать для неё экологичные шторки или типа того.
источник

АТ

Александр Тужик... in Alprog I/O
При этом, если тебе комфортно писать структы и передавать всё ref'ами (комфортно не в плане удобства, а комфортно в плане мироощущения оптимизации) - фигачь.
источник

Z

ZZZubec(Salamandr) in Alprog I/O
программирование в первую очередь должно быть удобным) согласен.
источник