"People often ask for a supply system where each unit traces its own path to the nearest sufficient
supply depot, and then pull supplies from it. This would be more accurate and would avoid the
quirks of the HoI3 system. However, it would also be tremendously costly in terms of CPU use, and
would make the game completely unplayable. (In computer science, the problem is known as the
”bottleneck travelling salesman problem”.)"
This very much proves why multi core CPU support is needed. When all calculations are limited to a single core, the devs have to chose sub optimal solutions. I hop the next paradox game engine will support multi core.
I am not a programmer but this programer expaind so I could understand, good read :
"In order to facilitate communication between entities we use 'channels'. A channel is simply a datatype or object with two ends. If something is put into one end then it comes out the other. This generally works asynchronusly (definitely in our case) so you avoid a lot of locking and blocking issues by using channels. The advantage here is that messages can be sent and received through channels. The messages contain any needed state preventing a data dependency back to the sender and because of the nature of channels the sender need not wait for the receiver to get the message and do something with it, nor must the receiver be stuck listening for messages. There is a saying that goes well with channels as opposed to traditional locking: "Do not communicate by sharing memory; instead, share memory by communicating.""
http://dungeonhack.sourceforge.net/forums/viewtopic.php?f=2&t=794
supply depot, and then pull supplies from it. This would be more accurate and would avoid the
quirks of the HoI3 system. However, it would also be tremendously costly in terms of CPU use, and
would make the game completely unplayable. (In computer science, the problem is known as the
”bottleneck travelling salesman problem”.)"
This very much proves why multi core CPU support is needed. When all calculations are limited to a single core, the devs have to chose sub optimal solutions. I hop the next paradox game engine will support multi core.
I am not a programmer but this programer expaind so I could understand, good read :
"In order to facilitate communication between entities we use 'channels'. A channel is simply a datatype or object with two ends. If something is put into one end then it comes out the other. This generally works asynchronusly (definitely in our case) so you avoid a lot of locking and blocking issues by using channels. The advantage here is that messages can be sent and received through channels. The messages contain any needed state preventing a data dependency back to the sender and because of the nature of channels the sender need not wait for the receiver to get the message and do something with it, nor must the receiver be stuck listening for messages. There is a saying that goes well with channels as opposed to traditional locking: "Do not communicate by sharing memory; instead, share memory by communicating.""
http://dungeonhack.sourceforge.net/forums/viewtopic.php?f=2&t=794