Чем плохи GameObjects в Unity

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

Чем плохи GameObjects в Unity
2424

В его основе лежит паттерн ECS (Entity-Component-System), который лучше подходит для архитектуры игр.

Я бы не сказал, что "лучше" – он другой, иначе строится логика, данные, компоненты, он другой.

У каждого из них есть свои плюсы и минусы, вопрос что тебе нужно в текущем проекте?

Этот подход значительно удобнее для разработки и обеспечивает значительное увеличение производительности в режиме выполнения.

Не готов сказать, что само использование ECS/DOTS, дает какой-то буст в скорости разработке (тут скорее минус разработки, если ты не знаешь как там все работает)

И про "значительное увеличение" – не уверен, что можно так бросаться высказываниями, это как минимум нужно подтверждать тестами, как по мне, ECS/DOTS берут не из-за перфоманса.

Ответить
Автор

Могу заверить, что переход в нашей игре с GameObjects на Ecs дал огромный буст в производительности, а использование Burst компилятора увеличила разрыв ещё больше. Это все будет расписано в следующей статье. Как было написано, одним из главных плюсов Ecs подхода является дружелюбность к кэшу, а это для игры очень критично. Ecs действительно намного удобнее для разработки чем ООП, все неудобства добавляет его кривая реализация в Unity.

1
Ответить

значительное это значит прям значительное и я бы даже сказал кратное. А по какой причине, на ваш взгляд, выбирают ECS?

1
Ответить

Именно DOTS берут из-за перфоманса.

1
Ответить

Про производительность, по крайней мере пару лет назад, правда. Но с одним нюансом: тогда всё работало на велосипедах и костылях.
Есть демка где десятки тысяч челиков сражаются.

Ответить