As far as i'm aware, there are two major paradigms when it comes to game object / game component updating.
The first is updating each "entity" at a time, including it's components"
The second is updating all components of a specific type at once.
The first approach seems to be easier to code , especially when you take into account update dependencies (i.e parent update before child) , but seems to be less efficient in terms of cache coherency and etc.
The second approach seems to be complicated to design , but helps with cache coherency and general optimizations i.e animating all skeletal meshes at once , performing all navigation queries , etc.
It seems that most game engines , like unreal, that were built a decade + ago have turned their old game object hierarchy into the first approach , but I wanted to ask, if you were creating a game engine today, which approach would you choose?
↧