I take it modders cant mod games to run to 4 cores etc ?

Radiation said:
Thats interesting, i did know some of it before but i still believe it can all be done at the hardware level, like why can't the cores be linked in such a way as to act as a single core?.
You think they could find some way to link them,so dual cores would work in most games/appz like dual GPU's SLI/crossfire can...
 
Radiation said:
Thats interesting, i did know some of it before but i still believe it can all be done at the hardware level, like why can't the cores be linked in such a way as to act as a single core?
Well then it might as well not be multi core :confused:

Radiation said:
Theres almost always a way to get things to work, i think they either just don't know or can't be bothered to get it working like that yet, perhaps what im asking would require quite a new architecture but im sure it could be done, if not then perhaps they need to come up with superior cpu designs or the programmers should actually make an decent compiler.
Not meaning to be rude, but do you have any programming experience or in depth knowledge of hardware architecture? ;)

I'm afraid it's just fundamentally impossible at a hardware level: the instructions must be executed in the right order. How do you take a chain of instructions and split it half and half over two cores, while ensuring both that the instructions are executed sequentially and that each core is always active? You can't.

As Duff-Man said, it must be done at a software level, either by the programmer or by the compiler. Writing a compiler that is intelligent enough to optimise code for multiple cores or CPUs just isn't feasible right now.

chaparral said:
You think they could find some way to link them,so dual cores would work in most games/appz like dual GPU's SLI/crossfire can...
Doesn't work like that. SLi and Crossfire are possible because graphics rendering is not too difficult to parallelise at the logical level. When you have two graphics cards, all you have to do to split the load between them is to assign certain portions of the scene to be rendered to each card. The cards can then just render the portions they've been assigned.

Unfortunately, most processing isn't as simple as this and can't just be easily split between two processors.

A (pretty crap) analogy is ambidexterity: you can write with either hand, which is great if you're writing two different things at once, but you can't write one letter, for example, with both hands, can you? That's because the process of writing something demands that you write the words/letters in the right order, so you can't just do different parts of the letter with each hand.

This same concept applies in exactly the same way to computers: two processors are great if you want to do two different things with them (either different processes or different threads in the same process); they can just happily get on with their own thing. However, you can't have them both try to do the same thing, because it must be done in order.

Bad analogy, I know :p
 
Last edited:
Radiation said:
Thats interesting, i did know some of it before but i still believe it can all be done at the hardware level, like why can't the cores be linked in such a way as to act as a single core?

Theres almost always a way to get things to work, i think they either just don't know or can't be bothered to get it working like that yet, perhaps what im asking would require quite a new architecture but im sure it could be done, if not then perhaps they need to come up with superior cpu designs or the programmers should actually make an decent compiler.

No offence meant, but the only reason you think that is because you don't understand how computer hardware and software work.

And: "the programmers should actually make an decent compiler" - you have no idea the amount of research and development work that would be required to produce a programming language and compiler that automatically provided multi-threading. Literally millions of man-hours. There are hundreds of academic journal papers published towards this end every year as it is. Even then, if such a compiler was available, the benefit would still be application-dependent. You could concievably have the best multi-threaded compiler in the world, and still have a program which runs better on a single core than on 4 (and FPS games would likely be this type of program).


It's easy to think that things should work differently if you don't understand the base principles. I mean, surely we should have flying cars by now, right? I mean I saw them on back to the future when I was a kid, and still nothing... those lazy designers should just get off their arses and make them ...right?
 
Ok point taken, so current processors and software designers can't or won't make much advancement on current hardware/software, what then are we left with? A processor with multiple cores that works some of the time but mostly does little while actual core performance stagnates? If this is the way things will be for the time being, then what real performance benefits other than a some low percentage will we ever see again?

It seems like cpu manufacturers are just adding cores now in an attempt to sell performance that isn't really going anywhere, are we really near the end of decent silicone performance gains? :confused:
 
It's all down to the software developers and not the hardware developers now. The hardware has given them the ability to run fast, they just need to program for it. And it is notoriously difficult, but we are seeing it happen more and more now.

Basically, these multicore processers are not backwards compatible. Simplest way to explain I guess.
 
Radiation said:
Ok point taken, so current processors and software designers can't or won't make much advancement on current hardware/software, what then are we left with? A processor with multiple cores that works some of the time but mostly does little while actual core performance stagnates? If this is the way things will be for the time being, then what real performance benefits other than a some low percentage will we ever see again?

It seems like cpu manufacturers are just adding cores now in an attempt to sell performance that isn't really going anywhere, are we really near the end of decent silicone performance gains? :confused:

Just because a single application is not making full use of the available processing power does not equate to a lack of performance. Asides from specialist software, eg rendering or scientific modelling, multiple cores allows multiple processes of the same complexity to execute without substantial slow down; something which just isnt possible on a single core.

Just the other day I was backing up a DVD whilst watching an episode of stargate whilst playing CoD.
 
Clinkz said:
Just because a single application is not making full use of the available processing power does not equate to a lack of performance. Asides from specialist software, eg rendering or scientific modelling, multiple cores allows multiple processes of the same complexity to execute without substantial slow down; something which just isnt possible on a single core.

Just the other day I was backing up a DVD whilst watching an episode of stargate whilst playing CoD.
How can you watch SG and play CoD at the same time? :p
 
Clinkz said:
Asides from specialist software, eg rendering or scientific modelling, multiple cores allows multiple processes of the same complexity to execute without substantial slow down; something which just isnt possible on a single core.

This is an important point, although for most home-use 4 cores should offer plenty of parallelisation.

It's important to remember that it isn't *games* or even any home use that drives the market. It's server clusters.

Sure, not everyone has a cluster, but they are used extensively throughout industry and commerce, and when you buy 1024 CPUs at a time (say), it sends a lot of money AMD / Intel's way. There are endless fields which use server clusters (from 3D animation to financial models, scientific modelling to sorting masses of satellite data etc etc). These are the areas that benefit the most from multi-core processors.

Unfortunately us gamers have to make do with whatever performance we can squeeze from the available hardware.
 
essentially, its as simple as this, you send a calculation to get done, its simple. 1+2 x 4 = what. it can be done in only a few clocks out of the many Ghz's available. but what happens if it got divided over two cores. you run 1+2 through one core, then move it over to the other core, take the first answer and times it by 4. but the moving it over to the other core, because it has to go through the full process of being queued, going through the core and coming out, takes a heck of a lot more clocks to move around and get done. it would take massively longer(relatively) than just using the one core as the one core would have predicted all the info for the entire operation. it see's the + and x and predicts what info to load into cache, from cache and in what order. the main issue with gaming is most of the info is maths based, physics info, AI based on algorithms where most of the time your calculations are completely dependant on previous results. now we are more and more moving on to gaming companies at least splitting AI, physics, gfx, drivers and all the info across separate threads. but splitting off the sound thread on its own and moving it to another core doesn't boost performance by 100%, because the sound thread is very very small and uses very little power. the physics is still the one thread, the AI is still one thread and the things using the most power can't be split up themselves, yet.

ideally you could , assume the physics was using 70% of the single core, and you could split that into 2 threads you would free up 35% of power available on the first core by moving it to the second core.

but then you run into the last hurdle, say you free up 35% more power available on the first core, that doesn't automatically mean another thread WILL use more power, just that it COULD.

theres entirely no need to get say call of duty 1, or kotor to use a lot more cpu power, because they aren't limited by cpu power on a 1.5Ghz athlon xp, let alone a 2.4Ghz conroe. games even now, are almost exclusive gpu limited.


using a 8800gts you have to drop to low detail in a game to show the difference between a 2.4Ghz conroe and one running at 3Ghz, because when you run at the resolution and detail level with aa/af settings where the 8800gts is smooth and not being wasted, you're gpu limited and cpu has bags of spare power anyway.
 
Most games are GPU limited, yes (especially in the kind of resolutions people like to play at now), although there are a few exceptions.

DiRT for example seems very cpu limited to me. On my old A64 rig there was very little difference between 640x480 low settings and 1680x1050 medium settings (borderline unplayable either way). Whereas now I have a C2D>3ghz performance is much better.

Generally speaking though when you look at benchmarks, it's only at 1024x768 and below where there is much of a benefit from faster cpus. And lets be honest, the kind of people who are gonna be splashing out on quadcore (or any high end single/dual core) are not likely to be playing in those kind of resolutions anyway.

When you are looking at 1600x1200 and beyond, GPU is kind and there is arguably a case to suggest that the best value systems for gaming are NOT well balanced systems with decent cpu/ram/gfx, but actually hideously unbalanced systems running a 8800gtx/ultra alongside a cheapo cpu.

Example: Say you have £450 to spend on gfx, cpu and RAM. The typical balanced approach would be say:

GFX: £175 (8800gts-320?)
CPU: £175 (Q6600?)
RAM: £100 (2gig PC8500?)

Whereas in reality a faster gaming rig for 'proper' resolutions would be something like:

GFX: £330 (8800gtx?)
CPU: £70 (E4300?)
RAM: £50 (2gig PC5400?)
 
to a point those two systems would probably be fairly close in most games for most people because theres really very very few games that push anything 8800 that hard yet. but it is exactly right anyway.

if you take both those systems and play more graphically demanding games in a year, at 1600x1200 and above, the gtx system will be faster, though most likely the first system would be a decent amount ahead in 3dmark and most/all games at lower res/detail settings.

its as simple as this, the game physics just don't change , if you play at 1024x768 or 2048x1536. so if you can get say 300fps in hl2 at the lower res, the cpu is fully capable of giving you 300fps at the higher res too. its simply the graphics card that is working harder at higher res and its the limiting factor.


the difference at the low res between a 2Ghz core duo and a 3Ghz core duo might be massive, but bump res up to whats appropriate for your graphics cards and they'll be within a couple percent of each other.

system buying guide, work out how much money you have, if you have an old crt/lcd screen and won't buy a new one don't buy a 8800 anything at all, to play at 1024x768, pretty much only get anything over £100 if you've got a screen that does 1600x1200 or above. if you're buying a new monitor, realise that if you geta 30" lcd and want to game properly you'll be wanting a 8800gtx, but that you only need £60 for mem and £100 for a cpu to keep it going great.

screen size or new screen, then appropriate card, then whatevers left spread on cpu/mem.
 
Back
Top Bottom