Replies: 1 comment
-
Systems and observers have different performance characteristics and schedule strategies! Both have their place, and neither is a complete replacement for the other :) Systems are run periodically (typically once per frame), operate on many entities at once, and can be evaluated in parallel. They're good for performing large batches of work with predictable scheduling needs. Observers on the other hand require exclusive world access, aren't run in parallel (which is both good and bad!) and can be queued up endlessly to respond to chained reactions. They're great for complex but lightweight cascades of tasks. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
It feels like Bevy is growing to have a bunch of overlapping concepts where they perhaps don't need them. Why not make all systems into observers and simplify it a bit?
Systems
So instead of something like:
Just have:
This would mean that there is one less concept for people to learn.
Plugins
In the same lane maybe plugins could also just be observers, something like:
Final note
Inspired a bit by how in frameworks like React everything is an
React component
, instead of having separate concepts forplugins
,systems
andobservers
.And finally maybe
observe
could be renamed to justadd
.Beta Was this translation helpful? Give feedback.
All reactions