Will concurrent entity update ever be implemented?

Anything that prevents you from playing the game properly. Do you have issues playing for the game, downloading it or successfully running it on your computer? Let us know here.
Post Reply
gexxo
Inserter
Inserter
Posts: 35
Joined: Thu Feb 23, 2017 6:44 pm
Contact:

Will concurrent entity update ever be implemented?

Post by gexxo »

Hey Dev Team,

the title says it all, basically. As already noted by others, with the blueprint sharing, one can create huge factories in a few hours. In addition, with the introduction of rocket science, the game fosters working on much larger mega bases (if you really want higher rocket science research, you need a tremendous base, which launches multiple rockets per minute).

For me, the fun in factorio is now slowly but surely degrading (and this should be a warning sign to you), because my base has quickly gotten large enough so that the Entity Update is limiting my FPS (I have a very high end system and my FPS are currently down to 30). The game is still playable at 30 fps, but any more base growing just has no use anymore (this is what makes this so severe): If I increase the number of products I produce by a further factor of 2, then the FPS will roughly drop by a factor of two, as the entity updates will take twice as long. Thus, in the end, I will not produce more products per second. So, the whole point of the game (which is to scale out) suddenly vanishes once Entity Updates are the bottleneck.

Therefore, my question: Will you guys ever implement concurrent entity updates? Then, the game could run fast for a much longer period of time, as modern CPUs feature more and more cores. In addition, it might run faster in the future when CPUs have even more cores (while the single thread performance is unlikely to evolve).

I know that concurrent updates is hard, as I happen to write concurrent C++ as a living. But I think in factorio it is certainly doable. You just have to find (and refine on every update) a partitioning of entities, such that entities in one partition can only have side effects on entities in the same partition. Then, you could compute all partitions embarrassingly parallel. Of course, the internal datastructure on which you do these updates have to be somehow thread safe.

So will this ever be a thing? I really think that this might increase the long term fun that people have in the game tremendously.

Muche
Long Handed Inserter
Long Handed Inserter
Posts: 53
Joined: Fri Jun 02, 2017 6:20 pm
Contact:

Re: Will concurrent entity update ever be implemented?

Post by Muche »

For some relevant discussion see 40790, 39893 and 49281.

AlienX
Fast Inserter
Fast Inserter
Posts: 103
Joined: Wed May 17, 2017 7:13 pm
Contact:

Re: Will concurrent entity update ever be implemented?

Post by AlienX »

For awhile (as per the FFF linked above) there was a glimpse of hope in our hearts that we, the people would eventually get a multi threaded Factorio simulation... But before we could see such a wonderful creation the "Elders" believe it was not suitable for the moment and shot the idea in the face with a double barrel shotgun. This in turn made the people very upset and the Elders forever since have heard the cries from the people about their lack of UPS even on high-end super computers.

This left the Factorio Elders in suspense, instead of giving us a multi-threaded simulation, they instead treated us in yet another FFF with a better belt design that would drastically reduce processor consumption per belt. The players rejoiced that their mega bases may regain some more entity updates per second, but alas... before the update was pushed the idea was thrown into the icy talons of the undead over the northern wall never to be heard of again.

The people, scouring though every single possible patch note never got their wanted multi-threaded update, or their better-belts... They were left heart broken, bruised and crushed.


tl;dr
No.

Post Reply

Return to “Technical Help”