Especially for Sirver As you mentioned multithreading today and as the performance is indeed a problem I have this very simple idea on multithreading:
First some background: The widelands 'core' does own stuff and inbetween calls DefaultAI::think() for all players one after one. I believe these DefaultAI::think() can be run in pararel, as they do not change state (buildings, roads, anything) on the map during the time they run. (Or am I wrong?) Once they are all done, widelands core can start doing own stuff, including executing commands (called functions) given by AI. Now widelands could find that some orders (like construct a building/road) can not be executed due to changes on the map, but these functions would only fail quietly. This happens also now and causes no problem to AI. At the same time all AIs would be informed on changes on map, mainly changes in buildings (this is how it is done also now). And then again, all AIs would be called in pararell. I understand multithreading is not task of a day now, I just wanted to share with my ideas :) Tibor
_______________________________________________ Mailing list: https://launchpad.net/~widelands-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~widelands-dev More help : https://help.launchpad.net/ListHelp

