Bring back high performance single core CPUs already!

Discussion in 'PC Hardware, Software and Displays' started by Frontino, Apr 10, 2012.

  1. CarstenS

    Veteran Subscriber

    Joined:
    May 31, 2002
    Messages:
    4,797
    Likes Received:
    2,056
    Location:
    Germany
    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.
     
  2. Arwin

    Arwin Now Officially a Top 10 Poster
    Moderator Legend

    Joined:
    May 17, 2006
    Messages:
    17,681
    Likes Received:
    1,200
    Location:
    Maastricht, The Netherlands
    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.
     
  3. Grall

    Grall Invisible Member
    Legend

    Joined:
    Apr 14, 2002
    Messages:
    10,801
    Likes Received:
    2,172
    Location:
    La-la land
    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.
     
  4. Albuquerque

    Albuquerque Red-headed step child
    Veteran

    Joined:
    Jun 17, 2004
    Messages:
    3,845
    Likes Received:
    329
    Location:
    35.1415,-90.056
    I generally agree, but there are some odd outliers. Skyrim really loves six cores even at the highest details:
    [​IMG]
    I suppose it might be caching, but really seems to love threads. Bizarre.
     
  5. Silent_Buddha

    Legend

    Joined:
    Mar 13, 2007
    Messages:
    16,051
    Likes Received:
    5,003
    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
     
  6. Lightman

    Veteran Subscriber

    Joined:
    Jun 9, 2008
    Messages:
    1,802
    Likes Received:
    473
    Location:
    Torquay, UK
    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.
     
  7. Albuquerque

    Albuquerque Red-headed step child
    Veteran

    Joined:
    Jun 17, 2004
    Messages:
    3,845
    Likes Received:
    329
    Location:
    35.1415,-90.056
    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.
     
  8. swaaye

    swaaye Entirely Suboptimal
    Legend

    Joined:
    Mar 15, 2003
    Messages:
    8,456
    Likes Received:
    578
    Location:
    WI, USA
    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.
     
  9. Sxotty

    Veteran

    Joined:
    Dec 11, 2002
    Messages:
    4,872
    Likes Received:
    330
    Location:
    PA USA
    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.
     
  10. Albuquerque

    Albuquerque Red-headed step child
    Veteran

    Joined:
    Jun 17, 2004
    Messages:
    3,845
    Likes Received:
    329
    Location:
    35.1415,-90.056
    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.
     
  11. Richard

    Richard Mord's imaginary friend
    Veteran

    Joined:
    Jan 22, 2004
    Messages:
    3,508
    Likes Received:
    40
    Location:
    PT, EU
    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.
     
  12. Albuquerque

    Albuquerque Red-headed step child
    Veteran

    Joined:
    Jun 17, 2004
    Messages:
    3,845
    Likes Received:
    329
    Location:
    35.1415,-90.056
    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
     
  13. imaxx

    Newcomer

    Joined:
    Mar 9, 2012
    Messages:
    131
    Likes Received:
    1
    Location:
    cracks
    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.
     
  14. Albuquerque

    Albuquerque Red-headed step child
    Veteran

    Joined:
    Jun 17, 2004
    Messages:
    3,845
    Likes Received:
    329
    Location:
    35.1415,-90.056
    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:
    [​IMG]

    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.
     
    #34 Albuquerque, Apr 13, 2012
    Last edited by a moderator: Apr 13, 2012
  15. Davros

    Legend

    Joined:
    Jun 7, 2004
    Messages:
    14,852
    Likes Received:
    2,268
    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
     
  16. sebbbi

    Veteran

    Joined:
    Nov 14, 2007
    Messages:
    2,924
    Likes Received:
    5,288
    Location:
    Helsinki, Finland
    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.
     
  17. Grall

    Grall Invisible Member
    Legend

    Joined:
    Apr 14, 2002
    Messages:
    10,801
    Likes Received:
    2,172
    Location:
    La-la land
    Interesting test, Albu. Did you try at a low screen resolution also, to eliminate possibility of GPU bottlenecking?
     
  18. hoho

    Veteran

    Joined:
    Aug 21, 2007
    Messages:
    1,218
    Likes Received:
    0
    Location:
    Estonia
    He was talking OC clocks. Though I believe BD has been clocked to over 8GHz as well.
    with that specific game, yes. There are other engines that scale better with multiple cores.
     
  19. Sxotty

    Veteran

    Joined:
    Dec 11, 2002
    Messages:
    4,872
    Likes Received:
    330
    Location:
    PA USA
    Well rage certainly made use of more cores :)
     
  20. Albuquerque

    Albuquerque Red-headed step child
    Veteran

    Joined:
    Jun 17, 2004
    Messages:
    3,845
    Likes Received:
    329
    Location:
    35.1415,-90.056
    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...
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...