Bring back high performance single core CPUs already!

Dragon Age 1 actually likes 3 core minimum CPUs a lot more than dual cores...

You're right. I might have remembered had I not played it at my monitor's native resolution with Supersample-AA, which kind of limits the Fps in my case to mid-40ish, which is pretty much exactly what my CPU can handle too.
http://www.pcgameshardware.de/aid,6...zent-vor-Dualcore/Rollenspiel-Adventure/Test/

(Which brings up another point of multicore CPUs in games: Mostly their benefit is evidenced by low-res, medium-detail, no-AA style of benchmarks. :) In reality, people who care about a decent level of image quality would be needing multicore CPUs less than the average benchmark might imply.
 
I've been looking into CPU/GPU bottlenecks because my wife has an old dual-core desktop, and I was wondering if I could drop in a big GPU there and then give her my quad-core low power machine that only holds low-profile GPU cards. But looking at the graphs, it seems that a dual core processor holds back a lot of higher end GPU cards in many metrics, limiting them to about half their maximum performance.

My work laptop has an 8-core i7, but of course the GPU in there barely matches my low-profile 5570 in my desktop, so that doesn't help much.
 
And the 'threading' of an application is not linked to all the negatives that you outlined; a single-threaded app is more likely to have those issues than a multithreaded app simply because you could never truly be doing more than one thing at once.
Yeah. Those of us who are a bit older and have followed PC gaming for many years now remember like when you played Quake 2-engine games for example and hit situations or areas your PC couldn't quite handle and the framerate slowed down so much the sound garbled.

This is because many games handled sound essentially at the end of a really long main program loop rather than as its own separate thread, and if the loop took too long to execute then the sound buffers ran dry and playback started stuttering.

With multicore processors, sound will most likely be its own separate thread, and will have a much higher chance of receiving all the processor cycles it ever needs to - especially on quad core or hyperthreaded dual core machines and up.
 
(Which brings up another point of multicore CPUs in games: Mostly their benefit is evidenced by low-res, medium-detail, no-AA style of benchmarks. :) In reality, people who care about a decent level of image quality would be needing multicore CPUs less than the average benchmark might imply.
I generally agree, but there are some odd outliers. Skyrim really loves six cores even at the highest details:
CPU_2.png

I suppose it might be caching, but really seems to love threads. Bizarre.
 
I generally agree, but there are some odd outliers. Skyrim really loves six cores even at the highest details:

[snip image]

I suppose it might be caching, but really seems to love threads. Bizarre.

Yes, but look at the tested resolution. It's exactly what Carsten was saying. The biggest benefit of multi-core's is seen a lower resolutions which many Enthusiasts wouldn't be using. How many people with a GTX 580 is going to be sporting a 1680x1050 monitor? :p I'm sure there might be a few out there, but I can't imagine it's all that many.

That said, it's going to depend on the game. Some games are far more CPU limited than others. But in general, games where multi-core will make a difference at higher resolutions is still relatively rare, but they do exist. :)

Regards,
SB
 
I had first hand experience of how going from six-core to dual-core matters in gaming. All described below happened on fully bloated Windows 7 with AV software, Steam, Origin and other processes running in the background.

In anticipation of Bulldozer I've sold my Phenom X6 (3.6GHz) which was playing BF2, BF3, Crysis 2 just fine paired with my HD6970.
When moved temporarily to Phenom X2 even clocking it to 4.1GHz couldn't stop severe performance degradation compared to 6 core CPU.
I mean in Crysis 2 MP I had to lower details to Medium before I could play semi-comfortable, otherwise FPS could tank to single digit!!! (on hexa never dropped below 30FPS with max. settings except tesselation)
BF3 was just god awful on DC!

By simply unlocking that X2 to Phenom X3 I've gained a lot in these games even though CPU clock had to be lowered to 3.4GHz. Crysis 2 MP was playable with High settings, still not quite where Phenom X6 was.
BF3 was much better as well with only minor slowdowns.


Remember, all other components stayed the same, only CPU's were swapped! Now I'm on SandyB (2500K) thanks to BD awful ST performance and surely can't complain gaming wise, still occasionally I'm missing 2 extra cores.
 
The difference between 1680x1050 and 1920x1080 is only 1/3rd of a megapixel, or about 17% of the entire screen. From a video card perspective, and given Skyrim's lack of usage of your CPU, those scores are going to directly translate to higher resolutions that a 580 owner is going to use.

Again, I did say these are outliers, but they absolutely exist.
 
Is this before or after Bethesda correctly compiled their game and brought major performance gains? That was ridiculous. Modders probably made that happen because otherwise nobody would have had a clue. Tell me that doesn't deflate the desire to spend big on the latest PC gaming hardware. I can only imagine the rendering, in all of its D3D9 / Gamebryo glory, is probably flawed too.
 
Yes, but look at the tested resolution. It's exactly what Carsten was saying. The biggest benefit of multi-core's is seen a lower resolutions which many Enthusiasts wouldn't be using. How many people with a GTX 580 is going to be sporting a 1680x1050 monitor? :p I'm sure there might be a few out there, but I can't imagine it's all that many.

That said, it's going to depend on the game. Some games are far more CPU limited than others. But in general, games where multi-core will make a difference at higher resolutions is still relatively rare, but they do exist. :)

Regards,
SB

Can you check on steam it would be interesting? I had a 570 a 1680 monitor and a hex core CPU, though it is a quad core now.
 
Is this before or after Bethesda correctly compiled their game and brought major performance gains? That was ridiculous. Modders probably made that happen because otherwise nobody would have had a clue. Tell me that doesn't deflate the desire to spend big on the latest PC gaming hardware. I can only imagine the rendering, in all of its D3D9 / Gamebryo glory, is probably flawed too.

Dunno. I do know that, if we assume 'horrible' coding (which I think we all know is true), it appears that it still loves lots of threads. Does that translate to the newest version of the game? I dunno. Actually, I'm in the perfect position to test given my hardware stack.

And honestly, Skyrim's shit-tastic CPU issues actually inflated my desire for a new rig. Keep in mind that I only do a major overhaul on my computer once every five or six years; my overclocked Q9450 and similarly overclocked ATI 5850 playing on my Dell 2007WFP (1680x1050) served me well for half a decade, but it was time to make it better. I was still using that rig when the 1.4x Bethesda patch came out that finally replaced SkyBoost, and it was indeed quite a help. But it still wasn't where I wanted it to be...

Sure, I can yell at all the devs out there with less-than-perfect code (I'm quite sure that I'm one of them, and I write software that involves running a fortune 200 business) but the reality is that people are human. There are lots of days where I'm just happy to throw hardware at the issue and call it done. I'd like to think I do not make the glaring omissions that Bethesda did...

Anyway, I've got a pretty hardcore rig now. Perhaps I'll run Skyrim on one, two, three, four, and six cores with/without hyperthreading through my 7970 at 2560x1440 and see what I can find for us all.
 
I generally agree, but there are some odd outliers. Skyrim really loves six cores even at the highest details:
CPU_2.png

I suppose it might be caching, but really seems to love threads. Bizarre.

You need to test with the 1.4+ version where they finally enabled the compiler optimisations. The worst case scenario for me pre patch was 29fps, now I get 46fps in the same spot.

Not to mention that [strike]gamebryo[/strike] Creation Engine is heavily CPU-bound in the first place because of some major design decisions.

WRT single core being better, I'd like to echo the few mentions that multi-core is better for games because you often need concurrency for good performance: MT streaming (which involves real-time decompression/recompression) can't stall the rest of the game and likewise the rest of the game can't wait for it since it's executing operations deferred to what is actually happening on screen.

Same thing with UI interaction blocking intensive operations. Even in a single core CPU you have to multi-thread otherwise a) your user is going to have a poor UI experience or b) your user is going to break your application by tripping OS timeouts.

The benefit of single-core versus multi-core is primarily for the developer. If the code already has to be written with multi-threading in mind to work correctly/be performant, the underlying hardware is less important. Developers complain about multiple cores when 99% of their code is single-threaded. When that happens, you have bigger problems.

Not to mention the fact even when gaming the CPU is doing more than just running a game. The OS and any other programs you have running in the background would be starved or you wouldn't benefit from your single core 5Ghz CPU anyway!

Now if you said "I'd rather have 2 core CPUs at 5Ghz"... We're now seeing games that can use 3-4 cores, perhaps at 80% efficiency. When that reaches 4-6 at over 50% efficiency a single core at 10Ghz will be at an even more disadvantage.
 
You need to test with the 1.4+ version where they finally enabled the compiler optimisations. The worst case scenario for me pre patch was 29fps, now I get 46fps in the same spot.
Like I said, I was playing on my 'old' rig when that patch came out, and it was certainly noticeable. I'll see if I can bounce through a few examples tonight or tomorrow with various combinations of disabling cores / disabling hyperthreading while running my 7970 at 2560x1440 to see what I come up with.

Might as well put some of this hardware to good use :D
 
Total instructions computed per clock continues to increase, however there is a hard physical limit as to how 'fast' a single core will be able to perfom. Your chart has nothing to do with the physical limit I'm talking about.
You can raise performance by increasing clock, IPC, multithreading. Increasing clocks hit the wall with netburst, where they reached 8Ghz with a longer pipeline (32 stages if I remember correctly) with poor performance results, so they did revert to PM project. Increasing IPC - especially in x86 architecture- has a natural limit due to registry dependencies. Increased multithreading has a natural limit on the amount of parallelizable work you can have within a single application. This is the physical limit i'm referring to -the fact you can add more cores, but their usefulness decrease more than linearly until they are almost an useless way to improve performance for a single application.

I was simply pointing that both orthogonal limits (say IPC/threads) are nearer, more or less. So that you might get higher overall speed by boosting single-thread performance than adding another parallel thread/core to the pool, unless you are executing an highly parallelized process.

Physical limits are also in function of the CPU architecture (see the 8Ghz Netburst), but so are the price they pay for mispredictions and so on.
 
Not sure why you keep bringing up Netburst; it was a shoddy design for a multitude of reasons.

Regardless, I did some testing on my rig with Skyrim as I said I would. First, the machine specs:
CPU: i7-3930k (24 x 125 = 3.0GHz, 36 x 125 = 4.5GHz)
MB: Intel DX79SI Firmware 430
RAM: Mushkin Redline Enhanced 8 x 4Gb 8-9-8-24-1T @ 1666MHz
VID: Sapphire 7970 OC edition (1150/1575, fastest it will do at stock volts)
DISK: Highpoint 2720SGL SAS PCI-E 8x card with 6 x 240GB OCZ Agility 3 SSD's
OS: Win7 64-bit Ultimate

And the settings for SkyrimPrefs.ini:
Code:
[General]
fBrightLightColorB=1.0000
fBrightLightColorG=1.0000
fBrightLightColorR=1.0000
iStoryManagerLoggingEvent=-1
bEnableStoryManagerLogging=0
[Imagespace]
bDoDepthOfField=1
iRadialBlurLevel=2
[Display]
iBlurDeferredShadowMask=32
fInteriorShadowDistance=3000.0000
fShadowDistance=2500.0000
iShadowMapResolutionSecondary=4096
iShadowMapResolutionPrimary=4096
iShadowSplitCount=2
iMaxAnisotropy=16
fLeafAnimDampenDistEnd=9200.0000
fLeafAnimDampenDistStart=7200.0000
fTreesMidLODSwitchDist=3600.0000
fGamma=1.0000
fDecalLOD2=1500.0000
fDecalLOD1=1000.0000
fSpecularLODStartFade=4000.0000
fShadowLODStartFade=2500.0000
fLightLODStartFade=5500.0000
iTexMipMapMinimum=0
iTexMipMapSkip=0
iWaterMultiSamples=4
iMultiSample=4
iShadowMode=3
bTreesReceiveShadows=1
bDrawLandShadows=1
bFull Screen=1
iSize H=1440
iSize W=2560
fMeshLODFadePercentDefault=1.2000
fMeshLODFadeBoundDefault=256.0000
fMeshLODLevel2FadeTreeDistance=2048.0000
fMeshLODLevel1FadeTreeDistance=2844.0000
fMeshLODLevel2FadeDist=10000000.0000
fMeshLODLevel1FadeDist=10000000.0000
iScreenShotIndex=46
bShadowMaskZPrepass=0
bMainZPrepass=0
iMaxSkinDecalsPerFrame=25
iMaxDecalsPerFrame=100
bFloatPointRenderTarget=1
sD3DDevice="AMD Radeon HD 7900 Series"
bFXAAEnabled=1
iShadowMapResolution=4096
fShadowBiasScale=0.3000
iShadowMaskQuarter=4
iAdapter=0
iPresentInterval=2
iShadowFilter=1
bTransparencyMultisampling=1
bDrawShadows=1
[Grass]
b30GrassVS=1
fGrassStartFadeDistance=7000.0000
fGrassMaxStartFadeDistance=7000.0000
fGrassMinStartFadeDistance=0.0000
[MAIN]
bGamepadEnable=1
bCrosshairEnabled=1
fHUDOpacity=1.0000
bSaveOnPause=1
bSaveOnTravel=1
bSaveOnWait=1
bSaveOnRest=1
fSkyCellRefFadeDistance=150000.0000
[GamePlay]
bShowFloatingQuestMarkers=1
bShowQuestMarkers=1
iDifficulty=2
[Interface]
bDialogueSubtitles=0
bGeneralSubtitles=0
bShowCompass=1
fMouseCursorSpeed=1.0000
[Controls]
fGamepadHeadingSensitivity=1.0000
fMouseHeadingSensitivity=0.0500
bAlwaysRunByDefault=1
bInvertYValues=0
bGamePadRumble=1
bMouseAcceleration=1
[Particles]
iMaxDesired=750
[SaveGame]
fAutosaveEveryXMins=15.0000
[AudioMenu]
fAudioMasterVolume=1.0000
fVal7=1.0000
uID7=0
fVal6=1.0000
uID6=0
fVal5=1.0000
uID5=0
fVal4=1.0000
uID4=0
fVal3=1.0000
uID3=94881
fVal2=0.4000
uID2=466532
fVal1=1.0000
uID1=554685
fVal0=0.8000
uID0=1007612
[Clouds]
fCloudLevel2Distance=262144.0000
fCloudLevel1Distance=32768.0000
fCloudLevel0Distance=16384.0000
fCloudNearFadeDistance=9000.0000
[TerrainManager]
fBlockLoadDistanceLow=50000.0000
fBlockLoadDistance=125000.0000
fHighBlockLoadDistanceLow=20000.0000
fTreeLoadDistance=75000.0000
fBlockMaximumDistance=250000.0000
fBlockLevel1Distance=70000.0000
fBlockLevel0Distance=35000.0000
fSplitDistanceMult=1.5000
bShowLODInEditor=0
[NavMesh]
fObstacleAlpha=0.5000
fCoverSideHighAlpha=0.8000
fCoverSideLowAlpha=0.6500
fEdgeFullAlpha=1.0000
fEdgeHighAlpha=0.7500
fEdgeLowAlpha=0.5000
fTriangleFullAlpha=0.7000
fTriangleHighAlpha=0.3500
fTriangleLowAlpha=0.2000
fLedgeBoxHalfHeight=25.0000
fEdgeDistFromVert=10.0000
fEdgeThickness=10.0000
fPointSize=2.5000
[Trees]
bRenderSkinnedTrees=1
uiMaxSkinnedTreesToRender=40
[Decals]
uMaxDecals=1000
bDecals=1
bSkinnedDecals=1
uMaxSkinDecals=100
uMaxSkinDecalsPerActor=60
[LOD]
fLODFadeOutMultObjects=15.0000
fLODFadeOutMultItems=15.0000
fLODFadeOutMultActors=15.0000
fLODFadeOutMultSkyCell=1.0000
[Launcher]
bEnableFileSelection=1
bShowAllResolutions=1
uLastAspectRatio=3
[BlurShaderHDR]
bDoHighDynamicRange=1
[BlurShader]
bUseBlurShader=0
[Water]
iWaterReflectHeight=1024
iWaterReflectWidth=1024
bUseWaterDisplacements=1
bUseWaterRefractions=1
bUseWaterReflections=1
bUseWaterDepth=1
bUseWaterReflectionBlur=1
bReflectExplosions=1
iWaterBlurAmount=4
bAutoWaterSilhouetteReflections=0
bForceHighDetailReflections=1

I configured Skyrim to run at 4xMSAA, 16x AF, and enabled FXAA along with all ultra settings. I also use additional tweaking of uGrids=7 and the supporting stuff needed to make that work optimally, as well as significant tweaking to the shadow settings. I then used Catalyst Control Center to enable the SSAA enhancement; thus all these scores are actually 4xSSAA. The screen resolution is 2560x1440. I have the presentationinterval set to 2, so it's vsync + triple buffer as I understand it.

In game, I ran to the top of the stairs of DragonReach in Whiterun, and saved a game mid-day looking over the courtyard. I then loaded that saved game under every configuration, waited 5 seconds for the game to 'settle', and then recorded the lowest framerate I saw over the following 10 seconds. Here is a screencap of where I saved:
ScreenShot45.jpg


It's not massively scientific, but that's what I was able to accomplish with 45 minutes of free time tonight. To change speeds, I just changed the CPU multiplier using Intel's overclocking utility. To change cores and threads, I used the BIOS function to limit the active cores and to enable/disable HT. All overclocking settings were identical (ram speed, bclk, blah-de-blah) so that only CPU core speed varied.

Code:
C/T	Ghz	FPS
----------------------
6/12	3.0	47.5
	4.5	48.3
	
6/6	3.0	47.5
	4.5	48.3

4/8	3.0	47.5
	4.5	49.5

4/4	3.0	47.5
	4.5	48.3

2/4	3.0	47.5
	4.5	47.5

2/2*	3.0	44.3
	4.5	47.5

1/2*	3.0	33.5
	4.5	45.6

1/1**	3.0	24.5
	4.5	38.3

* - This core/thread configuration appreciably affected my boot speed and game load
** - This core/thread configuration massively affected my boot speed and game load
The single core setting was abysmal. The OS boot time was extended significantly, the game load animations were a slideshow that moved a handful of frames and took a very long time to load.

I'd say that the dual core, four-thread config was the minimum you would want for this game, no matter the speed.
 
Last edited by a moderator:
with netburst, where they reached 8Ghz

You sure ? I only remember 3.8

ps: alby your benchmarks seem to suggest
1. no need for more than 2 cores (although helps with loading)
2. no need for increased clockspeed
3. or your gpu limited
 
Unfortunately most games are mainly designed for consoles, and do not properly scale up on PC. It's very easy to draw wrong conclusions by using modern multicore PC CPUs to run game code that is designed for ancient (7 year old) in-order console CPUs.

1.6 GHz 17W Sandy Bridge is (considerably) more powerful than an old 6 thread in-order PPC CPU at 3.2 GHz. Basically if you are running a direct port designed originally for consoles, a high end Sandy Bridge could execute all the six threads sequentically every frame using just a single core, and still hit the required frame rate. And that's why you don't see any scaling when you add more cores, even if the game is programmed to utilize up to six of them.

If you want to properly test multithread scaling of games, you should get an entry level CPU with lots of cores/threads. For example a 4 thread ATOM or a lowest clocked 6 core Phenom. Of even better downclock a 8 core Bulldozer to less than 1 GHz. The scaling will be much better, and you will see huge gains by enabling extra cores.
 
Interesting test, Albu. Did you try at a low screen resolution also, to eliminate possibility of GPU bottlenecking?
 
You sure ? I only remember 3.8
He was talking OC clocks. Though I believe BD has been clocked to over 8GHz as well.
ps: alby your benchmarks seem to suggest
1. no need for more than 2 cores (although helps with loading)
2. no need for increased clockspeed
3. or your gpu limited
with that specific game, yes. There are other engines that scale better with multiple cores.
 
Interesting test, Albu. Did you try at a low screen resolution also, to eliminate possibility of GPU bottlenecking?

The previous argument was around someone owning a high-end video card that wouldn't notice the core scaling because they'd be running at high res, with AA, etc.

To be truly honest, I couldn't get the freakin' VSYNC to turn off no matter what I did. All I have to do is turn off SSAA and immediately I have a ton more framerate -- but by a 'ton', I actually mean exactly 60 :( A proper test would be to get VSYNC turned off and let it fly.

Still, despite how badly GPU-bottlenecked I chose to make it, the obvious point is that one core is absolutely dismal even at high speed, and even dual cores still lose (in minimum framerate, which is where it gets important) to a processor that is dual core but exposes SMT. Even in a game as shoddily coded as Skyrim, and even when you're heavily GPU constrained.

I mean, let's be real, 4xSSAA at 2560x1440 with all details at ultra? And you can still measure a minimum framerate difference between 2c / 2t and 2c / 4t?

The most interesting datapoint to me was the 4c / 8t result at 4.5Ghz -- I repeated that test several times, and it was always faster than all the other settings that I used. Bizarre...
 
Back
Top