Most software won't even use 2 cores so 4 will be even more rare. Right now some niche software like 3D renderers, audio encoders, server daemons, etc are designed to be multithreaded but that's about it. As they get more popular I'm sure more games will be multithreaded but right now there's only a few.
The OS will be able to use multiple cores depending on the design of drivers.
For games; once the data is outputed for display, the OS can have the output driver use a different core than the game driver.
However, this could also impact that quality of play in that some data information could be calculated before the user has had a chance to see the results of the previous actions.
As discussed in other threads here and elsewhere; the design of the application must be planed/modified to allow concurrent execution of processing.
There are problems with deadlocks and synchronization when doing items in parallel.
As long as the application generates threads; the OS will distribute them across cores.
The application used to be able to (under Windows NT) be able to assign processing to a given core. this would allow taking advantage of cached information within the CPU vs having to miss and reload from other memory
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.