TLDR: Combining logical parts of base into single entities can improve game performance
If this idea has already been posted somewhere, please let me know
~~ ~~
A typical base consists of many logical blocks, each with numerous interactions within itself and much less with other blocks. If you record a timelapse of a specific part of the base, you'll see it's almost periodic. This is assuming that there are no biters, players doesn't change anything inside and both input and output are sustainable
Base can be partitioned into systems, which consist of entities and connections to the outside world. For example, a system could be a set of belts, assemblers, and inserters, connected to the outside through chests
Each entity has its own state at every moment in time, so there is a flow - function that determines the state of the whole system over time
Let's consider following approach. The flow may be (almost) periodic. If this is true for many cycles over a certain period of time, it's likely indeed periodic function. We don't need to update all entities, only abstract system state and state of connections.
~~ ~~
This is not a "complete suggestion". It's a question (title) and suggestion for discussion
Some anticipated remarks
- it's based - ok, sorry for this, could you give me the link?
- just do it yourself - imho this should be in core, not in separate mod, isn't? and in this case could you help me a bit with that - what could i learn to do it?
- there are many difficulties in implementing: this, this and this - yes, there are, If anyone is interested in discussing details, I'd be happy to explain further