First post, by speeder
I am trying to make SimCity 4 run decently on modern machines... the game DOES run, and several tools help, but there are some issues that each generator of computers make it worse.
1) nVidia Optimus and other Switchable graphics: Seemly they pass wrong data to DirectDraw (when DirectDraw query the card info, even using the appropriate flag that already existed to get the 3D GPU when the computer had another chip driving the video, DDraw returns the wrong card).
2) Well... the game use DX7, that is a pain 🙁
3) The game use RDTSC to calculate the CPU speed, this has two issues: 1, stuff that depends on the CPU speed breaks, because it is wrong, and 2, it loads the wrong configuration file, because it loads the configuration based on CPU speed, and RDTSC now can return any arbitrary value (on my computer it returns the base CPU clock, that is 1GHz less than the average).
4) The game was made to be heavily multithreaded, and seemly as long it is not being shiftted around cores id doesn't crash, unfortunately to do that you need to set affinity, and if you count the cores and set affinity to their amount, you end with using half of the processor (ie: because it will assign to itself for example cores 0, 1, 2, 3 instead of 0, 2, 4, 6).