hotcrossbuns156

Distinguished
Dec 4, 2008
25
0
18,530
has anyone here seen a utility spanning for load balancing? I have a dual core that floods the first core and leaves the second one unused, it would be neat to balance the load for better performance.
 


Wrong. :pfff:

XP and Vista (and 7) are perfectly capable of balancing loads across (real or virtual) cores, should the application being run support such behaviour. If you are running single threaded apps, however, then there is nothing to balance. The design of the (game's) code does not allow for that. By definition, single threaded apps are run as a single process in a single location.

Even in a multi threaded application: All threads Are Not Created Equal. Typically, there will be one main process with smaller supporting functions existing which may be run elsewhere. So even in an application that's designed to be multi threaded, and *is* being 'load balanced', that load isn't exactly the same on all cores.

I have seen people with limited understanding take that to mean that a multi core processor us "useless", but that would also be incorrect. The advantage to be had running a multi core proccy with single threaded software is that a whole core can be entirely dedicated to that process because work can be performed on the (un)loaded core. So your game gets an entire core dedicated to running it as best that core can, and other processes can be handled elsewhere. A processor with only one core has to switch back and forth in order to juggle everything that has to be done.


The short answer is: Play your game and don't worry about it.
 

JDocs

Distinguished
Apr 2, 2008
496
0
18,790
@Scotteq, I moved from XP to Vista because of the multi-threading support. Poke around the forums and you'll notice a lot of people complaining that XP just piles everything onto the first core until its full then the second even if the program is designed to use multiple cores.

This is due to the fact the that is the correct action for a single core / single core + HyperThreading system which was the height of technology at the time of XP's creation. Vista and Windows 7 include a new thread scheduler that balances threads across multiple cores in a more effective manor. So do most variants of Unix / Linux (they been in the multi-core / multi-CPU server business for a long time).
 

amdfangirl

Expert
Ambassador
Vista has load balancing. XP piles everything up onto one core. AMD dual core optimizer, helps, I think. Vista is much more efficient and does it more evenly. At the time of XP, most people were on single core computers.

Hi-5 JDocs =).