Anno 1404 will use Multithreading to take advantage of multi-core processors! This is a Google translation of a German developer blog. This is a 2 page article, I only posted the translation of the first page cause it's a pain to separate English from the original German. This could either be a really good thing, and speed up the game tremendously on Multi-core systems, or it could make it a crash prone program on all platforms. I am sure hoping for the former, I have yet to find a really good game that takes full advantage of my AMD Phenom Quadcore.
<!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec--><b>Technology Diary of the Anno developers
Anno 1404: CPU multi-threading in detail </b>
Author: Falk Jeromin (11.11.2008) - In the first part of Anno 1404-developer diary we PCGH on the proprietary multi-threading system on the Related Designs for its new 3D engine developed and the first time in Anno 1404 for use comes.
Anno 1404: Developer Diary about multi-threading
The diary was written by Burkhard Ratheiser (Head of R & D, Related Designs) and Frank Hoffmann (junior software developer, Related Designs). Have fun with it.
"Processors with two or more cores are now in the mainstream market vorgedrungen. Mononuclear Conventional are physical limits to further speed increases only in very limited extent possible. That is why the manufacturers to include multiple cores on one chip compartments.
To these new performance potential to exploit, however, requires a special support program within the respective codes. The big advantage of such a system lies in the parallel processing of different parts of the program in contrast to the inefficient and slow sequential processing. It is with a certain burden, because parallel program parts are not mutually into the wheel may, in the best case to a faulty rendering leads, but mostly a program crash the result.
The scheduler in a system detects existing processor cores and produces for each one worker thread.
The objective in the implementation of our multi-threading system, it was from the outset, not by the number of processor cores to be limited, but a flexible, scalable technology base to develop. To this end, we programmed our scheduler - a task scheduler. The scheduler in the system recognizes the existing CPU cores and prepared for each of these cores a worker thread. To the scheduler and its worker threads with labor supply, the engine for various systems (physics simulation, effects, animations, etc.) each a so-called job queue (task list) to. During the program adds the engine several jobs or job-specific packages in the queue one. These jobs bring the worker threads then from the queues and they work from.<!--QuoteEnd--></div><!--QuoteEEnd-->
Original Google translation here :
<a href="http://translate.google.com/translate?u=http%3A%2F%2Fwww.pcgameshardware.de%2Faid%2C666568%2FWissen%2FAnno_1404_CPU-Multi-Threading_im_Detail%2F&hl=en&ie=UTF-8&sl=de&tl=en" target="_blank">http://translate.google.com/translate?u=ht...sl=de&tl=en</a>
Original German language page here :
<a href="http://www.pcgameshardware.de/aid,666568/Wissen/Anno_1404_CPU-Multi-Threading_im_Detail/" target="_blank">http://www.pcgameshardware.de/aid,666568/W...ding_im_Detail/</a>