• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

winterharvest

Second Lieutenant
4 Badges
Feb 11, 2004
133
0
  • Darkest Hour
  • Hearts of Iron III
  • 500k Club
  • Hearts of Iron IV Sign-up
I don't play HOI2 or HOI2 DD as frequently because it slows down too much as the game progresses. Now that I am preparing to purchase a new PC, I would like to know if the games are designed to take advantage of multi-processors or multi-core processors. I am looking for faster play. Any comments from players who have experience with multi-processing PCs will be especially appreciated.
 
At the very least you can always benefit to a certain extend from multi-core CPU's, if you have an OS that actually allows scheduling on more than one core.

Even if one application is completely single threaded, other applications, processes and kernel tasks can still run on the other cores.
 
Dose Win XP Pro "allows scheduling on more than one core"?
 
Mr. G said:
Dose Win XP Pro "allows scheduling on more than one core"?

To be more specific, Windows XP Professional can support up to two processors regardless of the number of cores on the processor. It allows scheduling on more than one core. Microsoft Windows XP Home supports one processor and is single-threaded. It does not allow scheduling on more than one core.
 
Last edited:
That's not a tech support question. That'sa game design question. As such, we are not in a position to answer that ;)
 
winterharvest said:
I don't play HOI2 or HOI2 DD as frequently because it slows down too much as the game progresses. Now that I am preparing to purchase a new PC, I would like to know if the games are designed to take advantage of multi-processors or multi-core processors. I am looking for faster play. Any comments from players who have experience with multi-processing PCs will be especially appreciated.

If the GUI remains responsive while other processes are running (as any properly written Windows application does) then it is going to be multitrheaded and can take advantage if you're running on any NT based version of Windows (XP too).

If you have IDE based HDDs you will take advantage of multiple processors at the OS level.

Remember though that multiprocessor doesn't necessairly double the speed of the machine. It really only allows it to do something else while doing an expensive task. The main advantage of a multiprocessor (or dual core) is that it helps with OS overhead. In the "You have to run AV age", you also almost need a dedicated ALU for that. (The ALU is the "thinking" part of the CPU)

Also, one thing to think about: Switching a tread out of the processor is an EXPENSIVE task. Think of changing your Nitendo cartridge out so you could play two games at once. Multithreaded apps appear faster but are really slower unless you have more than one processor. There is alos alot of maintenance with threads at the app level. Dependant threads have to wait on each other, etc. I guess in HOI you could have two computer countries "move" at once but since windows probably won't dedicate the processors to the app exclusively.
 
Last edited:
Well, certainly that last part is very true indeed. As per design, the scheduler will try to keep as much of the threads of one process located on one processor. Why? because of cache coherency. Each processor usually has it's own L1 and L2 caches. When two processors each run a thread belonging to the same process, chances are high they both access the same memory space.

This means overhead at the memory controller level to ensure memory contents integrity. Different processes have different memory spaces, and as such will not interfere each other. So, the thread scheduler will try to retain all threads of one process on the same processor.

It doesn't matter if you happen to own a dual core processor with an internal unified L1/L2 cache. The Windows kerner does not know, nor differentiate between between one dual core with unified cache, one dual core with separate caches per core, a hybrid dual core (aka two processor dies in one pacakage) or two processors. It's all two separate processors as far as the task scheduler is concerned.

So we're back to square one. You will get benefits, measurable benefits, if you happen to run multiple processes in parallel to the game. Which is, in practice, always the case.