Size: a a a

Rust GameDev — русскоговорящее сообщество

2021 July 10

R

Roman in Rust GameDev — русскоговорящее сообщество
Не, мне точно это нравится
источник

G

GeTech in Rust GameDev — русскоговорящее сообщество
Я возможно как то не так понял ecs, но мне понравилась идея компонентов и существ, а вот системы нет, так как в теории если у тебя куча существ, тебе они все не нужны одновременно, и все их перебирать точно со временем будет затратно.
источник

L

Lain-dono in Rust GameDev — русскоговорящее сообщество
Можно маркеры использовать ради фильтрации
источник

G

GeTech in Rust GameDev — русскоговорящее сообщество
Ну фильтр это да, но проход то всё равно по всем будет.
источник

L

Lain-dono in Rust GameDev — русскоговорящее сообщество
Всмысе компонент-маркер
источник

L

Lain-dono in Rust GameDev — русскоговорящее сообщество
Но вообще это вполне себе быстро может быть
источник

L

Lain-dono in Rust GameDev — русскоговорящее сообщество
Фишка же в том, что они упакованы в памяти линейно (если упрощать)
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
Даже без фильтра маркера это запросто будет куда как быстрее чем иметь массив Entity и по ним бегать
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
Потому что cache-locality и вот это всё
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
А если маркер вешать, то и подавно
источник

G

GeTech in Rust GameDev — русскоговорящее сообщество
Я не углублялся в работу, но компонент маркер, как я понимаю же всё равно проходит по всем, и выбирает только те что с маркером и отдаёт, не так ли?
источник

L

Lain-dono in Rust GameDev — русскоговорящее сообщество
Не, они автоматически сортируются по набору компонентов
источник

G

GeTech in Rust GameDev — русскоговорящее сообщество
Ну хорошо а как допустим дела будут с миллионным количеством существ.
источник

L

Lain-dono in Rust GameDev — русскоговорящее сообщество
В зависимости от того, что ты хочешь с ними делать
источник

G

GeTech in Rust GameDev — русскоговорящее сообщество
Ну допустим считать физику их, по сути каждый кадр. Но понятное дело в кадр влезут не все.
источник

L

Lain-dono in Rust GameDev — русскоговорящее сообщество
А для всех ли существ эта физика считается?
источник

G

GeTech in Rust GameDev — русскоговорящее сообщество
Ну для всех существ конечно у которых есть определённый компоненты.
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
Конечно физику для миллиона существ за кадр не посчитать.
Но тебе все и не нужны наверное.
Совсем ненужные существа могут вообще быть убраны из ECS мира.
Часть можешь пометить маркером типа Disabled и в query добавлять without::<Disabled>()
источник

L

Lain-dono in Rust GameDev — русскоговорящее сообщество
И у тебя миллион существ с этой физикой?
источник

L

Lain-dono in Rust GameDev — русскоговорящее сообщество
*смотря какая физика. Может и можно
источник